PHP Básico – Aula 9 – Estrutura Condicional if

Home Fóruns PHP/MYSQL PHP Básico – Aula 9 – Estrutura Condicional if

Marcado: 

Visualizando 1 resposta da discussão
  • Autor
    Posts
    • #86827
      Silvio Mota Gazeta
      Participante

      Boa tarde.
      No curso de PHP Básico, o professor Guanabara no final do vídeo da aula 9 deixou um exercício como desafio. Trata-se do exercício 03.
      Eu fiz, mas estou com seguinte dúvida: Quando eu deixo os valores vazios está dando erro, só que fiz o tratamento com isset() no arquivo PHP.
      Segue os códigos:

      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
          <meta charset="UTF-8">
          <link rel="stylesheet" href="../../_css/estilo.css">
          <title>Estruturas Condicionais em PHP</title>
      </head>
      <body>
      <div>
          <form method="get" action="exercicio-03.php">
              Nota 1: <input type="number" name="n1"><br>
              Nota 2: <input type="number" name="n2"><br>
              <input type="submit" value="Calcular Média">
              <input type="reset" value="limpar">
          </form>
      </div>
      </body>
      </html>
      <!DOCTYPE html>
      <html lang="pt-br">
          <head>
              <meta charset="UTF-8">
              <link rel="stylesheet" href="../../_css/estilo.css">
              <title>Estruturas Condicionais em PHP</title>
              <style>
                  span {
                      color: brown;
                  }
              </style>
          </head>
          <body>
              <div>
                  <?php
                      $nota1 = isset($_GET["n1"])?number_format($_GET["n1"], 1):0;
                      $nota2 = isset($_GET["n2"])?number_format($_GET["n2"], 1):0;
                      $media = number_format(($nota1 + $nota2) / 2, 1);
                      if ($media < 5) {
                          $sit = "REPROVADO";
                      }
                      elseif (($media >= 5) && ($media <= 7)) {
                          $sit = "RECUPERAÇÃO";
                      }
                      else {
                          $sit = "APROVADO";
                      }
                      echo "A média entre <span>$nota1</span> e <span>$nota2</span> é igual a <span>$media</span>";
                      echo "<br>Situação do aluno: <span>$sit</span>";
                      echo "<br><a href='exercicio-03.html'>Voltar</a>";
                  ?>
              </div>
          </body>
      </html>

      Pelo código que desenvolvi, não consegui achar o erro quando deixo os valores das notas em branco e peço para calcular. O correto era assumir o valor 0 nas duas notas.

    • #87807

      Silvio, pedimos desculpas na demora da resposta.

      Tente fazer o seu código com menos conversões ou fazer as conversões em fórmulas separadas, você pode fazer o cálculo e só fazer a conversão quando for mostrar o número na tela. Tente não formatar muito a entrada do número nas linhas de PHP.

      E uma última opção é considerar o 0 como valor padrão, lá em nota 1 e nota 2 você pode colocar o 0 como valor padrão no HTML.

      Espero ter ajudado, qualquer dúvida estamos à disposição. 🖖

Visualizando 1 resposta da discussão
  • Você deve fazer login para responder a este tópico.