jerome82 0 Denunciar post Postado Outubro 6, 2013 Ola pessoal gostaria de uma ajuda em trabalho de escola, eu estava querendo elaborar um cadastro das notas dos alunos de diversas turmas que consiga ler os dados de entrada através de um arquivo e gerar as seguintes estatísticas no console: Para cada turma: Exibir a média de todos os alunos, considerando três notas por aluno; Exibir a matrícula dos alunos que obtiveram a melhor e a pior média. Os códigos das turmas de melhor e pior rendimento: o rendimento de uma turma é definido pela média das médias de seus alunos. Arquivo de Entrada Considere para tal que o arquivo de entrada nomeado “dados.txt” será construído da seguinte forma: <número de turmas> <código da turma 1> <número de alunos da turma 1> <matrícula do aluno 1> <nota 1 do aluno 1> <nota 2 do aluno 1> <nota 3 do aluno 1> <matrícula do aluno 2> <nota 1 do aluno 2> <nota 2 do aluno 2> <nota 3 do aluno 2> … <matrícula do aluno n> <nota 1 do aluno n> <nota 2 do aluno n> <nota 3 do aluno n> <código da turma 2> <número de alunos da turma 2> <matrícula do aluno 1> <nota 1 do aluno 1> <nota 2 do aluno 1> <nota 3 do aluno 1> <matrícula do aluno 2> <nota 1 do aluno 2> <nota 2 do aluno 2> <nota 3 do aluno 2> … <matrícula do aluno n> <nota 1 do aluno n> <nota 2 do aluno n> <nota 3 do aluno n> … <código da turma m> <número de alunos da turma m> <matrícula do aluno 1> <nota 1 do aluno 1> <nota 2 do aluno 1> <nota 3 do aluno 1> <matrícula do aluno 2> <nota 1 do aluno 2> <nota 2 do aluno 2> <nota 3 do aluno 2> … <matrícula do aluno n> <nota 1 do aluno n> <nota 2 do aluno n> <nota 3 do aluno n> Exemplo de Arquivo de Entrada 2 100 3 2010101 1.2 5.0 9.0 2010102 7.0 3.5 8.0 2010130 0.5 2.0 10.0 350 1 2012100 9.0 8.0 7.5 Parâmetros Considerando que cada turma apresente no máximo 50 alunos e que o número máximo de turmas é 20. Agradeço quem puder ajudar Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Outubro 6, 2013 Certo, e o que você já fez? Compartilhar este post Link para o post Compartilhar em outros sites
jerome82 0 Denunciar post Postado Outubro 7, 2013 Certo, e o que você já fez? Eu ja fiz a leitura do arquivo txt para dentro do programa, porem estou com dificuldades em utilizar esses dados para fazer o restante da programação, pois se fosse somente para o usuario digitar as informaçoes seria facil de implementar. Fiz ate agora somente a parte da leitura dos dados, porem nao consigo utiliza-los na implementação no restante do problema. #include <stdio.h> #include <stdlib.h> int main (void){ FILE *file; file = fopen("dados.txt","r"); if(file==NULL){ printf("nao foi possivel abrir o arquivo\n"); getchar(); exit(0); } char turma[20]; while(fgets(turma,20,file)!=NULL){ printf("%s\n",turma); } fclose(file); system("pause"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
jorge danilo 3 Denunciar post Postado Outubro 7, 2013 Olha fiço um sisteminha parecido ai com o seu que quando o usuário digitar o a opção certa o sistema entra em ação. Onde o usuário poderá informar o seu texto qualquer e o mesmo será salvo em um arquivo .txt . E depois se o usuário quiser tanto visualizar no programa só ele escolher a opção do texto e o mesmo aparecerá na tela do programa. Olha ai como que eu fiz : Obs. Fiço em C/C++ Mais a lógica é que importa : ----------------------------------- #include<iostream> #include<cstdlib> #include<ostream> #include <conio.h> using namespace std; //Função Gravação do Texto float opcao1(void){ FILE*arquivo; char turma[20]; //cria o vetor texto para receber o texto digitado pelo usuario int i; //para controlar o laco for arquivo=fopen("dados.txt","w"); //especifica o nome do arquivo if(!arquivo) //verifica se o arquivo esta escrito corretamente { cout<<"Erro na Abertura do Arquivo"; //exibi a mensagem de erro caso encontre algum erro na abertura do arquivo exit(1); } cout<<"Entre com o texto a ser gravada no arquivo:\n"; gets(turma); gets(turma); for(i=0;turma[i];i++){ putc(turma[i],arquivo); } fclose(arquivo); } //Função Leituta de Texto float opcao2(void){ FILE*arquivo; char caractere; arquivo=fopen("dados.txt","r"); //leitura do texto ja salvo if(!arquivo) { cout<<"Erro na Abertura do Arquivo"; exit(1); } caractere = getc(arquivo); while(caractere!=EOF){ printf("%c",caractere); caractere = getc(arquivo); } fclose(arquivo); cout<<"\n\n\n"; system("pause"); } //funcao principal (main) int main(){ system("color f9"); int i,opcao; cout<<"----------------------------------------\n\n\n"; cout<<"----------------------------------------\n\n\n"; cout<<"Escolha uma das opcoes abaixo\n\n"; cout<<"1: Para gravacao de texto\n"; cout<<"2: Para leitura de texto\n"; cout<<"---------------------------------------\n"; cout<<"\nOpcao: "; scanf("%d",&opcao); switch(opcao){ case 1: opcao1(); cout<<"\nTexto salvo !"<<endl; break; case 2: opcao2(); break; default : system("cls"); // limpa a tela main(); // chama a funcao principal } getch(); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites