Ir ao conteúdo

Linguagem C


Helga Gisele

Posts recomendados

Postado

Oi pessoal,

o programa q se segue deve fazer a média ponderada, mas ele não está funcionando na impressão sai valores absurdos.

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

int main(int argc, char *argv[])
{
float n1, n2, n3, mp=0,pf=0;
int p1,p2,p3;
printf("Digite as 3 notas:");
scanf("%f",&n1);
scanf("%f",&n2);
scanf("%f",&n3);
printf("Digite os respectivos pesos das notas:");
scanf("%f",&p1);
scanf("%f",&p2);
scanf("%f",&p3);
mp=((n1*p1)+(n2*p2)+(n3*p3))/(p1+p2+p3);
if(mp>=7)
printf("APROVADO com media %.2f\n",mp);
else
{
pf=10-mp;
printf ("PRECISA TIRAR NOTA %.2f na prova final\n",pf);
}
system("PAUSE");
return 0;
}

Ele só lê o else. Alguém pode m ajudar?

Obrigada desde já

Postado

As variáveis "p1", "p2" e "p3" foram declaradas como sendo do tipo inteiro, mas na leitura você atribui valores do tipo float.

Troque:


scanf("%f",&p1);
scanf("%f",&p2);
scanf("%f",&p3);

Por:


scanf("%d",&p1);
scanf("%d",&p2);
scanf("%d",&p3);

  • Membro VIP
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...