Number Sorter - PHP

0

Good evening, everyone! I'm a hobby programmer. I started to study programming in just under a year. I've been working on my logic today and created a code that draws numbers. But it's not just a code that simply draws numbers - it sorts them out! Just let us know:

  • Number of sweepstakes;
  • First number;
  • Last number.
  • After this, you will be informed how many sweepstakes will be made, which numbers will be drawn, which number was drawn in their respective time, how many times that number was drawn and which numbers were not drawn.

    I'm posting the code so we can discuss it and to suggest improvements.

    Thank you!

    HTML

    <html>
        <head>
            <meta charset="UTF-8">
            <title>Sorteador de Números</title>
        </head>
        <body>
            <form method="get" action="index.php">
                <label for="sorteios">Quantidade de Sorteios</label>
                <input id="sorteios" name="sorteios" type="text" placeholder="Sorteios"><br>
                <label for="pnumero">Primeiro Número</label>
                <input id="pnumero" name="pnumero" type="text" placeholder="Primeiro Número"><br>
                <label for="snumero">Segundo Número</label>
                <input id="snumero" name="snumero" type="text" placeholder="Segundo Número"><br>
                <input type="submit" value="Sortear">
            </form>
        </body>
    </html>
    

    PHP

    $pnumero = $_GET["pnumero"];
    $unumero = $_GET["snumero"];
    $nsorteios = $_GET["sorteios"];
    function sortear($nsorteios, $pnumero, $unumero) {
        if ($nsorteios<1) {
            echo "O número de sorteios não pode ser igual a zero ou menor que este.";
            exit();
        }
        if ($pnumero > $unumero) {
            echo "O primeiro número deve ser menor que o último número.";
            exit();
        }
        if ($pnumero == $unumero) {
            echo "Os números devem ser diferentes.";
            exit();
        }
    
        $sorteios = $nsorteios;
    
        if ($pnumero == 0) {
            $numero = $unumero;
        } else {
            $numero = $unumero - $pnumero;
        }
    
        $numeros = [$pnumero => 0];
    
        for ($z=1; $z<=$numero; $z++) {
            array_push($numeros, 0);
        }
    
        echo "<b>";
                    print_r($numeros);
                    echo "</b>";
    
        echo "<br>";
    
        if ($sorteios == 1) {
            echo "Será realizado um sorteio.<br><br>";
        }
        if ($sorteios > 1) {
            echo "Serão realizados " . $sorteios . " sorteios com os números de " . $pnumero . " a " . $unumero . ".<br><br>";
        }
    
        echo "Serão sorteados " . count($numeros) . " números.<br><br>";
    
        for($i=1; $i<=$sorteios; $i++) {
            if ($pnumero == 0) {
                $a = rand($pnumero, $unumero);
            } else {
                $a = rand($pnumero, $unumero);
            }
    
            echo "Número sorteado na " . $i . "ª vez: " . $a . "<br>";
    
            for($j=$pnumero; $j<=$unumero + 1; $j++) {
                if ($a == $j) {
                    $numeros[$j] = $numeros[$j] + 1;
                }
            }
        }
    
        echo "<br>";
    
        if ($sorteios > 0) {
            if ($pnumero == 0) {
                for($c=$pnumero; $c<=$unumero; $c++) {
                    if ($numeros[$c] != 0) {
                        echo "Número de vezes que o número " . $c . " foi sorteado: " . $numeros[$c] . "<br>";
                    }
                }
            } else {
                for($c=$pnumero; $c<=$unumero; $c++) {
                    if ($numeros[$c] != 0) {
                        echo "Número de vezes que o número " . $c . " foi sorteado: " . $numeros[$c] . "<br>";
                    }
                }
            }
            echo "<br>";
            for($c=$pnumero; $c<=$unumero; $c++) {
                    if ($numeros[$c] == 0) {
                        echo "O número " . $c . " não foi sorteado.<br>";
                    }
            }
        }
    
        echo "<br>";
        //Apagar
                    echo "<b>";
                    print_r($numeros);
                    echo "</b>";
        //Apagar
    }
    //sortear (quantidade_de_sorteios, primeiro_número, segundo_número);
    sortear ($nsorteios, $pnumero, $unumero);
    
        
    asked by anonymous 27.06.2018 / 05:16

    0 answers