PiR2
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ler um arquivo, tirar as medias das notas e..

2 participantes

Ir para baixo

Ler um arquivo, tirar as medias das notas e.. Empty Ler um arquivo, tirar as medias das notas e..

Mensagem por SixeEngenharia 31/5/2016, 11:27 am

Um codigo para ler o conteúdo do arquivo “notas.txt” contendo as 3 notas obtidas por cada aluno . O programa deve gerar dois novos arquivos:  “aprovados.txt” com as notas finais dos alunos aprovados e “reprovados.txt” com as dos alunos reprovados (aprovado>=5.0). 

O formato do arquivo que será lido é:
7.5 8.4 9.1
4.0 5.7 4.3
6.0 3.5 8.9

Primeiramente, como faço pra tirar a media de cada linha, quando eu mando somar ela soma tudo. E depois como crio o arquivo? Agradeço quem souber.

Foi ate aqui que eu consegui fazer:
Código:
#include<stdio.h>
int main() {
FILE* f;
float str1, str2, str3, str;

f = fopen ("teste2.txt", "r");

if (f == NULL) {
perror("teste2.txt");
return 1;
}

while (fscanf(f, "%f %f %f", &str1, &str2, &str3) != EOF){
printf("%f\t%f\t%f\n", str1, str2, str3);
printf("%f\t%f\t%f\n", str1+str2+str3); //Soma errada
}

fclose(f);
return 0;
}

SixeEngenharia
Iniciante

Mensagens : 29
Data de inscrição : 02/05/2016
Idade : 28
Localização : Rio de Janeiro, RJ, BRasil

Ir para o topo Ir para baixo

Ler um arquivo, tirar as medias das notas e.. Empty Re: Ler um arquivo, tirar as medias das notas e..

Mensagem por PedroX 3/6/2016, 4:24 pm

No segundo printf, você não deve usar 3 vezes o %f, já que estará mostrando apenas 1, ou seja, a soma deles. Para pegar a média, coloque essa soma entre parênteses e divida por 3, direto ali no printf mesmo. Depois, você precisa escrever os resultados num arquivo, usando fprintf. Terá que abri-lo também... Vamos por partes.
PedroX
PedroX
Administração
Administração

Mensagens : 1040
Data de inscrição : 24/08/2011
Idade : 28
Localização : Campinas - SP

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos