Felipe_478 Postado Agosto 19, 2017 Denunciar Share Postado Agosto 19, 2017 (editado) 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 Agosto 19, 2017 por Felipe_478 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 20, 2017 Denunciar Share Postado Agosto 20, 2017 (editado) #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 Agosto 20, 2017 por vangodp Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Felipe_478
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(){
Editado por Felipe_478float media;
printf ("Digite a media do aluno\n");
scanf ("%f",&media);
printf ("%", nota(media) );
return (0);
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.