Ir para conteúdo
Fórum Script Brasil
  • 0

Erro de Condicional


Felipe_478

Pergunta

Por que quando digito 6.9 aparece ("Nota inválida") ao em vez de ("Nota C")? Uso o Code Blocks!

 

#include <stdio.h>
#include <stdlib.h>

char nota (float media){
    //pre: Digitar a media do aluno
    //pos: Classificação da nota
    if ((media <= 10) && (media>=9.0)) {
        printf ("Nota A");
    }
    else if ((media <= 8.9) && (media >= 7.0)) {
        printf ("Nota B");
    }
    else if ((media <= 6.9) && (media >= 5.0)) {
        printf ("Nota C");
    }
    else if ((media <= 4.9) && (media >= 0.0)) {
        printf ("Nota D");
    }
    else {
        printf ("Voce digitou nota invalida");
    }
    return (printf);
}

        int main(){
        float media;
            printf ("Digite a media do aluno\n");
            scanf ("%f",&media);
            printf ("%", nota(media) );
        return (0);
        }

Editado por Felipe_478
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
#include <stdio.h>
#include <stdlib.h>

char* nota ( float media ) {
    //pre: Digitar a media do aluno
    //pos: Classificação da nota
    if ( ( media <= 10.0f ) && ( media >= 9.0f ) ) {
        return( "Nota A" );
    }
    
    if ( ( media <= 8.9f ) && ( media >= 7.0f ) ) {
        return ( "Nota B" );
    }
    
    if ( ( media <= 6.9f ) && ( media >= 5.0f ) ) {
        return ( "Nota C" );
    } 
    
    if ( ( media <= 4.9f ) && ( media >= 0.0f ) ) {
        return ( "Nota D" );
    } 
    
    return ( "Voce digitou nota invalida" );

}

int main() {
    float media;
    printf ( "Digite a media do aluno\n" );
    scanf ( "%f", &media );
    printf ( "%s", nota ( media ) );
    return ( 0 );
}

 

você deve por o f ao lado quando fizer uma comparação tipo media == 5.0f, caso contrario o compilador tomará 5.0 como um double, seria como estar comparando um float com um double, sempre vai dar erro.

 

Editado por vangodp
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...