Informática, perguntado por highschooldxd6, 11 meses atrás

Está dando problema quando coloco isso no code blocks, alguem sabe o erro? o problema é com o valor "o" e não sai a média final correta.
quero calcular a média final dando 3 valores e escolher qual média final
Linguagem usada C:

float main()
{
float n1,n2,n3,o,m;
printf ("Nota 1= "); scanf ("%f", &n1);
printf ("Nota 2= "); scanf ("%f", &n2);
printf ("Nota 3= "); scanf ("%f", &n3);
printf("Escreva '1' para média aritmética, '2' para ponderada ou '3' para harmonica:"); scanf("%f", &o);
if (o=1)
{ m = (n1+n2+n3)/3;}
if (o=2)
{ m = ((n1*3)+(n2*3)+(n3*4))/10;}
if (o=3)
{ m = 3/((1/n1)+(1/n2)+(1/n3));}
printf("Média final=",m);
return 0;
}

Soluções para a tarefa

Respondido por GuilhermeConstantino
1

Vou grifar onde tem erro:

float main()

{

float n1,n2,n3,o,m;

printf ("Nota 1= "); scanf ("%f", &n1);

printf ("Nota 2= "); scanf ("%f", &n2);

printf ("Nota 3= "); scanf ("%f", &n3);

printf("Escreva '1' para média aritmética, '2' para ponderada ou '3' para harmonica:"); scanf("%f", &o);

if (o==1)

{ m = (n1+n2+n3)/3;}

if (o==2)

{ m = ((n1*3)+(n2*3)+(n3*4))/10;}

if (o==3)

{ m = 3/((1/n1)+(1/n2)+(1/n3));}

printf("Média final= %f",m);

return 0;

}

________________________________________________

Os erros eram q em o=1 vc está atribuindo o valor 1 para 'o', quando coloca == , vc pergunta se é igual aquele valor, no seu caso era isso q vc queria.

o erro do printf("Média final= ",m);  era q se vc está trabalhando com uma variavel float vc deve colocála no print para que seja mostrada, ou seja %f.

testei aqui no meu e foi.


highschooldxd6: Vlw testei aqui agr e foi
Perguntas interessantes