Sugestão de Solução Exercício Aluno

De IFSC
Ir para navegação Ir para pesquisar
#include <iostream>
#include <stdio.h>
#define nMAXDISC 4
#define nMAXNOTAS 4
#define nDISCDISP 9
#define NALUNOS 3

using namespace std;

char NomesDisciplinas[nDISCDISP][11]={"Portugu\x88s", "Matem\xA0tica", "Geografia", "Hist\xA2ria", "Biologia", "Artes", "F\xA1sica", "Qu\xA1mica", "Religi\xC6o"};

class Aluno
{public:
   Aluno(void);
   void LeNotas(void);
   char Nome[80];
   char NMatricula[15];
   int DisciplinasNumero[4];
   void CalculaMedias(void);
private:
   float Notas[nMAXDISC][nMAXNOTAS];
};


Aluno::Aluno(void)
{ int n;
   cout<< "\n\nEntre com o nome do aluno: ";
   fflush(stdin);
   gets(Nome);
   fflush(stdin);
   cout<< "\nEntre com o numero de Matricula: ";
   gets(NMatricula);
   cout<< "\n\t\t**** MATRICULA DO ALUNO ****\n\t\tLISTA DE DISCIPLINAS A CURSAR: \n"<<endl;
   for(int i=0;i<nDISCDISP;i++)
       cout<< "\n Disciplina #"<< (i+1)<< " "<< NomesDisciplinas[i] << endl;
   for(int i=0;i<nMAXDISC;i++)
   {
       cout<<"\n\t\tMatricular o aluno na disciplina de numero: > ";
       cin >> n;
       DisciplinasNumero[i]=n-1;
       cout <<"\n\tAluno matriculado em "<< NomesDisciplinas[n-1]<<endl;
   }
   cout<<"\n\nMatricula do aluno finalizada"<<endl;
}

void Aluno::LeNotas(void)
{   cout<< "\n\nENTRADA DE NOTAS DO ALUNO: " << Nome <<endl;
   for(int i=0;i<nMAXDISC;i++)
   {   cout << "\nDISCIPLINA de " << NomesDisciplinas[DisciplinasNumero[i]];
       for(int j=0;j<nMAXNOTAS;j++)
      {
       cout<< "\n\t Nota da Avaliacao "<< (j+1) << endl;
       cin >> Notas[i][j];
      }
   }
}

void Aluno::CalculaMedias(void)
{  float soma;
    for(int i=0;i<nMAXDISC;i++)
   {   soma=0;
       for(int j=0;j<nMAXNOTAS;j++)
           soma+=  Notas[i][j];
       cout<< "\n\t\tMEDIA NA DISCIPLINA "<< NomesDisciplinas[DisciplinasNumero[i]] << ": " <<soma/nMAXDISC;
   }
}


int main()
{   cout << "***************************" << endl;
    cout << "****REGISTRO ACADEMICO ****" << endl;
    cout << "***************************" << endl;
    cout <<"\n\n";
    Aluno aluno[NALUNOS];

    for(int i=0;i<NALUNOS;i++)
    {
        aluno[i].LeNotas();
        aluno[i].CalculaMedias();
    }
    return 0;
}