Ir para conteúdo
Fórum Script Brasil

JoseMário

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que JoseMário postou

  1. JoseMário

    TAD

    Boa tarde, a todos, sou estudante de SISTEMA DE INFORMAÇÃO PUCMINAS EM BETIM, preciso de uma pequana ajuda, estou fazendo um programa que ler arquivo na raiz, ou seja, você digita o caminho e o programa busca os dados do candidato. O programa é esse:typedef char palavra [50]; struct candidato { palavra nome; int numero_do_candidato; int sexo; int nota_final; int curso; }; Os dados dos alunos serão fornecidos em um arquivo binário. O arquivo terá basicamente o seguinte formato: Jose A. B. 200815 0 79 7 Maria C. D. 200825 1 80 4 João F. G. 2008153 0 20 3 ... O que o seu programa deverá fazer: 1) Ler o arquivo e colocar os elementos no TAD que você escolheu. 2) Mostrar o número de inscritos no vestibular. 3) Mostrar o nome de quem tirou a maior nota (O primeiro lugar geral). 4) Mostrar a maior nota das mulheres e dos homens (e os respectivos nomes). 5) Mostrar a média das notas. 6) Mostrar quantos estão acima e quantos estão abaixo da média. 7) Mostrar os nomes das 5 maiores notas. 8) Mostrar os aprovados por curso. 9) Ler uma nota do teclado e mostrar todos os candidatos que tiraram aquela nota. já estou na questão 7, o problema que meu programa, não passa pelo while que mostra as 5 maiores notas, já fiz várias alterações, mas tudo em vão.. estou trabalhando com uma FILA. o código do programa é: essa é parte do programa... while(!FilaVazia(Dados1)) { Desenfileirar(Dados1,Aux); Enfileirar(Dados,Aux); if(Aux.Info.sexo == 1 && Aux.Info.nota_final > MaiorNotaMulher.nota_final) { strcpy(MaiorNotaMulher.nome,Aux.Info.nome); MaiorNotaMulher.nota_final = Aux.Info.nota_final; } if(Aux.Info.sexo == 0 && Aux.Info.nota_final > MaiorNotaHomem.nota_final) { strcpy(MaiorNotaHomem.nome,Aux.Info.nome); MaiorNotaHomem.nota_final = Aux.Info.nota_final; } if(Aux.Info.nota_final > Media) Cont2++; if(Aux.Info.nota_final < Media) Cont3++; } //Questão numero 7 - Mostrar as cinco maiores notas cout<<"\n\tNOMES DA 5 MAIORES NOTAS -->"; for(i=0;i<5;i=i+1) { CincoMaiorNota.nota_final = 0; while(!FilaVazia(Dados2)) { Desenfileirar(Dados2,Aux); if(Aux.Info.nota_final > CincoMaiorNota.nota_final) { strcpy(CincoMaiorNota.nome,Aux.Info.nome); CincoMaiorNota.nota_final = Aux.Info.nota_final; } Enfileirar(Dados,Aux); } while(!FilaVazia(Dados1)) { Desenfileirar(Dados2,Aux); if(Aux.Info.numero_do_candidato == CincoMaiorNota.numero_do_candidato) cout<<i+1<<" "<<Aux.Info.numero_do_candidato << endl; Enfileirar(Dados1,Aux); } } /* while(!FilaVazia(Dados2)) { Desenfileirar(Dados1,Aux); Enfileirar(Dados,Aux); Enfileirar(Dados2,Aux); if(Aux.Info.sexo == 1 && Aux.Info.nota_final > MaiorNotaMulher.nota_final) { strcpy(MaiorNotaMulher.nome,Aux.Info.nome); MaiorNotaMulher.nota_final = Aux.Info.nota_final; } if(Aux.Info.sexo == 0 && Aux.Info.nota_final > MaiorNotaHomem.nota_final) { strcpy(MaiorNotaHomem.nome,Aux.Info.nome); MaiorNotaHomem.nota_final = Aux.Info.nota_final; } if(Aux.Info.nota_final > Media) Cont2++; if(Aux.Info.nota_final < Media) Cont3++; } */ }//fim do for cout<<"\n\tO PRIMEIRO LUGAR GERAL -->"<<MaiorNota.nome; cout<<"\n\tHOMEM COM MAIOR NOTA -->"<<MaiorNotaHomem.nome<< " NOTA = "<<MaiorNotaHomem.nota_final; cout<<"\n\tMULHER COM MAIOR NOTA -->"<<MaiorNotaMulher.nome<<" NOTA = "<<MaiorNotaMulher.nota_final; cout<<"\n\tA MEDIA DAS NOTAS -->"<<Media; cout<<"\n\tCANDIDATOS ABAIXO DA MEDIA -->"<<Cont2; cout<<"\n\tCANDIDATOS ACIMA DA MEDIA -->"<<Cont3; getch(); fclose(arquivo); return 0; } //--------------------------------------------------------------------------- se alguém pude me ajudar ficarei muito grato...
×
×
  • Criar Novo...