Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Ruka284

Classificação do aluno

Mensagens Recomendadas

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();
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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".

Editado por 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Editado por Psycop

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Editado por HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.