Ir para conteúdo
julianopan

Ajuda com erro

Recommended Posts

Boa noite , não consigo achar o erro na validação das mensagens, alguém me da uma luz

 

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include<math.h>
int main(void)
{
    setlocale(LC_ALL,"Portuguese");
    float p1,p2,p3,media;
    printf("Digite três notas:\n");
    scanf("%f %f %f", &p1, &p2, &p3);
    media = (p1*2 + p2*3 + p3*5)/(2+3+5);
    if (media >=8,0 && media <=10)
        printf("A nota do aluno é: A \n");
    else if (media >=7,0 && media <7,5)
        printf("A nota do aluno é: B \n");
    else if (media >=6,0 && media <6,5)
        printf("A nota do aluno é: C \n");
    else if (media >=5,0 && media <5,5)
        printf("A nota do aluno é: D \n");
    else if (media >=0,0 && media <4,5)
        printf("A nota do aluno é: E \n");
    else
        printf("Verfique as notas! \n");
    return(0);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@julianopan, esse teu código tem dois problemas: um sintático e um de lógica.

 

1º) Tu deve alterar a vírgula por ponto no número, para separar as casas decimais;

 

2º) Essa tua validação não compreende alguns casos. Por exemplo:  se o cara ficar com média 7.7, ele não vai cair em nenhum dos if's, vai ir pro else de "Verifique as notas!".

Faça o teste aí: entre com com as notas 5, 5 e 4. A média é ~4.7, que não é compreendido pela tua validação. Então essa nota, que em tese é uma nota válida, daria erro.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Defina a localização da forma abaixo e continue usando o ponto para separar as casas decimais ao digitar um valor:

setlocale(LC_CTYPE, "Portuguese");

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Leonardo Hildebrandt
      Exclui a imagem do site para não usar mais mas agora acontece esse erro ao carregar o site o que é e como resolver , a imagem a baixo

    • Por Ritatxt
      Pessoal queria uma ajuda para fazer esse código funcionar corretamente, o problema é o seguinte, É pra desenvolver um algoritmo que fique recebendo números e quando for digitado o número 0 "zero" o programa pare e mostre o maior e o menor número digitado, usando a função repita - até. Vou deixar anexado a imagem do código que eu fiz.

    • Por Paulo_
      Olá, boa tarde!
      Estou desenvolvendo um "projeto" e ao "termino" deste, não consigo nem rodar que dá erro 404.. 
      Código a seguir:
       
      acesso.jsp

       
      login.html

       
      validaLogin.jsp

       
      cadastro.jsp


       
      cadCadastro.jsp

       
      agendamento.jsp

       
      cadAgendamento.jsp

       
      altAgendamento.jsp

       
      altAgendamentoConf.jsp

       
      Tem mais 2 paginas que não deu para enviar, a comunicação com o bd (wampserver) está ok. Ja revisei isto varias vezes.. Sou iniciante..
      foto do erro: https://www.google.com/search?client=firefox-b&biw=1600&bih=818&tbm=isch&sa=1&ei=kakFW96sPMmcwgTKqaqgBA&q=HTTP+Status+404+-+Not+Found++type+Status+report++messageNot+Found++description+The+requested+resource+is+not+available&oq=HTTP+Status+404+-+Not+Found++type+Status+report++messageNot+Found++description+The+requested+resource+is+not+available&gs_l=img.3...40800.43934.0.44340.4.4.0.0.0.0.0.0..0.0....0...1c..64.img..4.0.0....0.8WZ5tJEt-oo#imgrc=4l9diSzVy6ZZpM:
       
       
    • Por Anthony Stephen
      Olá pessoal, é o meu primeiro contato com o PHP, e estou tentando desenvolver uma página de cadastro/login.
      A página em si já está funcionando, e realizando a consulta no banco de dados, mas eu gostaria de exibir uma mensagem de erro quando for constatado que a conta não existe no BD.
       
      Até agora tenho duas páginas principais, são elas: login.php e login-connect.php.
      Gostaria de exibir a seguinte div na página login.php, se o login for inválido:
      <div class="alert alert-danger alert-dismissible fade show" role="alert"> Ops! password and/or invalid user. <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> Ficaria assim:
       

       
      login-connect.php
      Da maneira que está, ele só exibe em outra página em branco:
      <?php (... códigos inicializadores ...) //Realiza consulta dentro do BD $result = mysqli_query($con, "SELECT * FROM `usuario` WHERE `email` = '$login' AND `password`= '$senha'"); //Verifica se as informações estão dentro do BD if(mysqli_num_rows ($result) > 0 ){ $_SESSION['login'] = $login; $_SESSION['password'] = $senha; header('location:main.php'); } else{ unset ($_SESSION['login']); unset ($_SESSION['password']); echo '<b>Atenção</b> Login ou senha inválidos, tente novamente.'; } ?>  
      Obs: Sei que da maneira que o código está, é impossível de fazer a div aparecer, porque não declarei isso em lugar nenhum. Mas aí está o problema, como fazer?
      Desde já, muito obrigado!
    • Por André Luis Pereira Gouveia
      Aviso: PDOStatement :: execute (): SQLSTATE [HY093]: Número do parâmetro inválido: o parâmetro não foi definido em C: \ WebServer \ Apache2.2 \ htdocs \ Cadastro \ add.php na linha 54 Erro ao cadastrarArray ([0] = > HY093 [1] => [2] =>) Segue meu codigo abaixo:
      Sou iniciante, me ajudem.
      <?php   require_once 'init.php';   // pega os dados do formuário $name = isset($_POST['name']) ? $_POST['name'] : null; $datanascimento = isset($_POST['datanascimento']) ? $_POST['datanascimento'] : null; $email = isset($_POST['email']) ? $_POST['email'] : null; $gender = isset($_POST['gender']) ? $_POST['gender'] : null; $rg = isset($_POST['rg']) ? $_POST['rg'] : null; $cpf = isset($_POST['cpf']) ? $_POST['cpf'] : null; $pai = isset($_POST['pai']) ? $_POST['pai'] : null; $mae = isset($_POST['mae']) ? $_POST['mae'] : null; $endereco = isset($_POST['endereco']) ? $_POST['endereco'] : null; $bairro = isset($_POST['bairro']) ? $_POST['bairro'] : null; $cidade = isset($_POST['cidade']) ? $_POST['cidade'] : null; $uf = isset($_POST['uf']) ? $_POST['uf'] : null; $telefone = isset($_POST['telefone']) ? $_POST['telefone'] : null; $celular = isset($_POST['celular']) ? $_POST['celular'] : null; $foto = isset($_POST['foto']) ? $_POST['foto'] : null;   // validação (bem simples, só pra evitar dados vazios) if (empty($name) || empty ($datanascimento) || empty($email) || empty($gender) || empty($rg) || empty($cpf) || empty($pai) || empty($mae) || empty($endereco) || empty($bairro) || empty($cidade) || empty($uf) || empty($telefone) || empty($celular) || empty($foto)) {     echo "Volte e preencha todos os campos";     exit; }   // a data vem no formato dd/mm/YYYY // então precisamos converter para YYYY-mm-dd $isoDate = dateConvert($datanascimento);   // insere no banco $PDO = db_connect(); //$sql = "INSERT INTO users(name, email, gender, birthdate) VALUES(:name, :email, :gender, :birthdate)"; $sql = "INSERT INTO users(name, datanascimento, email, genero, rg, cpf, pai, mae, endereco, bairro cidade, uf, telefone, celular, foto) VALUES(:name, :datanascimento, :email, :genero, :rg, :cpf, :pai, :mae, :endereco, :bairro, :cidade, :uf, :telefone, :celuar, :foto)"; $stmt = $PDO->prepare($sql); $stmt->bindParam(':name', $name); $stmt->bindParam(':datanascimento', $datanascimento); $stmt->bindParam(':email', $email); $stmt->bindParam(':genero', $genero); $stmt->bindParam(':rg', $rg); $stmt->bindParam(':cpf', $cpf); $stmt->bindParam(':pai', $pai); $stmt->bindParam(':mae', $mae); $stmt->bindParam(':endereco', $endereco); $stmt->bindParam(':bairro', $bairro); $stmt->bindParam(':cidade', $cidade); $stmt->bindParam(':uf', $uf); $stmt->bindParam(':telefone', $telefone); $stmt->bindParam(':celular', $celular); $stmt->bindParam(':foto', $foto); if ($stmt->execute()){     header('Location: index.php'); }else{     echo "Erro ao cadastrar";     print_r($stmt->errorInfo()); } ?>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.