armazenamento de vetores
Boa tarde.
Peço ajuda de vocês para que verifiquem um erro no meu código, pois não consigo achá-lo.
Quando executei, o programa me retornou médias com valor errados..
É um algoritmo para leitura de nota de prova (vetor NOTAPROV) e trabalho (vetor NOTATRAB) de dez alunos e o "peso" da prova e trabalho.
A lógica consiste em calcular a média de cada aluno e armazená-lo em um terceiro vetor, o MÉDIA[10].
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N;
float NOTAPROV[10];
float NOTATRAB[10];
int PESOPROV;
int PESOTRAB;
float MEDIA[10];
float MEDIAMAIOR;
float MEDIAMENOR;
int CONTADOR = 0;
printf("Insira a nota da prova e de trabalho de cada aluno:\n\n");
for (N=1; N<=10; N++)
{
printf("Aluno %d\n Nota de prova", N);
scanf("%f", &NOTAPROV[N]);
printf("Nota de trabalho");
scanf("%f", &NOTATRAB[N]);
}
printf("Insira o 'peso' da prova e do trabalho:");
scanf("%f", &PESOPROV);
scanf("%f", &PESOTRAB);
for (N=1; N<=10; N++)
{
MEDIA[N] = ((PESOPROV * NOTAPROV[N]) + (PESOTRAB * NOTATRAB[N]))/(PESOPROV + PESOTRAB);
}
MEDIAMAIOR = MEDIA[1];
MEDIAMENOR = MEDIA[1];
for (N=1; N<=10; N++)
{
if (MEDIA[N] > MEDIAMAIOR)
{
MEDIAMAIOR = MEDIA[N];
}
if (MEDIA[N] < MEDIAMENOR)
{
MEDIAMENOR = MEDIA[N];
}
if (MEDIA[N] >= 5)
{
CONTADOR++;
}
}
for (N=1; N<=10; N++)
{
printf("Aluno %d \n", N);
printf("Nota de prova = %f \n", NOTAPROV[N]);
printf("Nota de trabalho = %f \n", NOTATRAB[N]);
printf("Media = %f\n", MEDIA[N]);
}
printf("A maior media foi %f \n", MEDIAMAIOR);
printf("A menor media foi %f \n", MEDIAMENOR);
printf("%d alunos tiveram media igual ou superior a 5.\n\n", CONTADOR);
system("PAUSE");
}
Grato.
-----
Ough, percebi o erro.
Utilizei o comando de leitura scanf("%f") para as variáveis PESOPROV e PESOTRAB (que são de valores inteiros) em vez de scanf("%d").
HAHHAHAH sou novato em programação, ainda. :rolleyes:
Discussão (1)
Carregando comentários...