Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

spinhei

[Resolvido] Porque não da certo? linguagem C

Recommended Posts

eu sei que o MA ta certo, e o que ta erredo é o if mais nao sei porque...compilo e nao da erro,porém para qualquer numero so da conceito B...OBS: é linguagem C

 

 

MA=((((n1+n2)*2)+(n3*3)+media)/7);

printf("A media de aproveitamento e %f\n\n",MA);

 

if (MA >= 9,0) printf ("\n Conceito A\n ");

if (MA >9,0|| MA >=7,5) printf ("\n Conceito B\n ");

if (MA >7,5|| MA >=6,0) printf ("\n Conceito C\n ");

if (MA >6,0|| MA >=4,0) printf ("\n Conceito D\n ");

if (MA<4,0) printf("\n Conceito\n E ");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Você está escrevando o número decimal errado. Se você usar vírgula ao invés de ponto (como usamos aqui no brasil), vai gerar erro mesmo. Ficaria assim:

 

if(MA >= 9.0) printf("\n Conceito A\n ");
if(MA > 9.0|| MA >= 7.5) printf("\n Conceito B\n ");
if(MA > 7.5|| MA >= 6.0) printf("\n Conceito C\n ");
if(MA > 6.0|| MA >= 4.0) printf("\n Conceito D\n ");
if(MA < 4.0) printf("\n Conceito\n E "); 

 

Testa pra ver se dá certo.

 

PS: Você declarou a variável MA como float ou double para usar valores decimais?

 

Abraços :D

 

@edit:

 

Se quer que o programa seja mais rápido, utilize a escada if-else-if ao invés de if-if, pois usando a escada if-if, ou seja, chamando ifs após ifs, cada um será executado e testado quanto a sua validade. Se usar if-else-if, a execução dos ifs parará no que for verdadeiro, sem perder tempo executando o resto dos if's (e sem perder desempenho então)...

 

Mudança simples:

 

if(MA >= 9.0) printf("\n Conceito A\n ");
else if(MA > 9.0|| MA >= 7.5) printf("\n Conceito B\n ");
else if(MA > 7.5|| MA >= 6.0) printf("\n Conceito C\n ");
else if(MA > 6.0|| MA >= 4.0) printf("\n Conceito D\n ");
else if(MA < 4.0) printf("\n Conceito\n E "); 

 

PS: Idente corretamente para ficar mais fácil de entender...

 

Abraços :D²

Compartilhar este post


Link para o post
Compartilhar em outros sites

obs n1= nota1

n2= nota 2

n3= nota 3

 

graças a deus deu certo e era só isso -''

foi float ;]

 

so uma coisa pra que o

??
[code]if(MA >= 9.0) printf("\n Conceito A\n ");
else if(MA > 9.0|| MA >= 7.5) printf("\n Conceito B\n ");
else if(MA > 7.5|| MA >= 6.0) printf("\n Conceito C\n ");
else if(MA > 6.0|| MA >= 4.0) printf("\n Conceito D\n ");
else if(MA < 4.0) printf("\n Conceito\n E "); 

 

obrigada =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

LoL, esqueça... O seu conceito está diferente... Não seria mais simples colocar MA >= 6.0 só, ssem ter que adicionar MA > 7.5?

 

 

Abraços :D

 

 

@edit:

 

Leia o outro post que estou postando no outro tópico que vai entender para que serve.

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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