Sugestão de Solução Exercício Aluno
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;
}