Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Ruka284

Classificação do aluno

Recommended Posts

Ruka284

Não me esta dar a classificação, introduzo a nota e esta-me a apareçer os printf todos com zero, não me diz qual a sua classificação.


#include<stdio.h>
#include<conio.h>
int main()
{
float nota,mau,mediocre,suficiente,bom,muito_bom,erro_dados;
printf ("Nota do aluno\n");
scanf("%f",&nota);
if (nota>=0 && nota<=5)
{
printf("%f",mau);
}
if (nota>5 && nota<10);
{
printf("%f",mediocre); 
}
if (nota>=10 && nota<=14);
{
printf("%f",suficiente);
}
if (nota>14 && nota<=18);
{
printf("%f",bom);
}
if (nota>18 && nota<=20);
{
printf("%f",muito_bom);
}
if (nota>20);
{
printf("%f",erro_dados);
}
getch();
}

Share this post


Link to post
Share on other sites
eatg75

Nenhuma das variaveis que estas a escrever o seu valor para o ecra nao foram inicializadas. Inicializa-as de acordo com o criterio deste teu exercicio ou simplesmente podes escrever para o ecra uma mensagem de acordo com a classificao da nota se nota for entre 14 e 18 podes escrever algo como "A tua classificacao e muito bom".

Edited by eatg75

Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Share this post


Link to post
Share on other sites
Psycop

Ola

Tens de rever a lógica do teu programa.

1 - As condições if não terminão com ; (ponto e virgula) pois com este não entram dentro da verificação.

Olha aqui o teu codigo corrigido.

#include<stdio.h>
#include<conio.h>
int main()
{
float nota = 0;
printf ("Nota do aluno; ");
scanf("%f",&nota);
printf("\n\n");
 if (nota >= 0 && nota<=5)
 {
	 printf("Mau");
 }
 if (nota >5 && nota<10)
 {
 printf("mediocre");
 }
 if (nota>=10 && nota<=14)
 {
 printf("suficiente");
 }
 if (nota>14 && nota<=18)
 {
 printf("Bom");
 }
 if (nota>18 && nota<=20)
 {
 printf("muito bom");
 }
 if (nota>20)
 {
 printf("erro de dados");
 }
getch();
}

Existem muitas formas de fazer isto e a que apresento é apenas uma delas.

Cumps

Edited by Psycop

Share this post


Link to post
Share on other sites
HappyHippyHippo

não esquecendo do que foi referido nos post anteriores, volto novamente a frisar :

- usa o getchar em vez do getch !!!

- tira o conio.h e deixa o stdio.h

- o main tem de retornar um valor

- usa double em vez de float

no que toca a lógica da aplicação, como foi dito, existem várias maneiras de fazer isso, vou-te só apresentar uma simplificação/correcção da última escrita pelo @psycop:

#include<stdio.h>

int main() {

 double nota = 0;
 printf ("Nota do aluno : ");
 scanf("%lf", &nota);
 printf("\n\n");

 if (nota < 0)
   printf("erro de dados");
 else if (nota <= 5)
   printf("mau");
 else if (nota < 10)
   printf("mediocre");
 else if (nota <= 14)
   printf("suficiente");
 else if (nota <= 18)
   printf("Bom");
 else if (nota <= 20)
   printf("muito bom");
 else
   printf("erro de dados");

 getchar();
 return 0;
}

edit : faltava o primeiro else

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.