cenas

a) Complete a estrutura acima e implemente um construtor padrão, sem argumentos, que inicializa todos
os atributos com os valores “”, para nomee curso, e 0, para numero e media. Implemente também
um construtor que inicializa todos os atributos com valores fornecidos como argumento, excepto media,
que terá o seguinte protótipo:

Aluno(string umNome, string umCurso, int umNumero);

public:
Aluno()
{ nome = curso = ""; numero = media = 0; };
Aluno(string umNome, string umCurso, int umNumero)
{ nome = umNome; curso = umCurso; numero = umNumero; media = 0; };
};//Aluno





b) Considere que um aluno, durante o tempo de estudante, poderá mudar de curso e número algumas
vezes, mas nunca de nome, e a sua média também poderá sofrer alterações. Implemente os membros-
função adequados para este efeito, ou seja, escrita e leitura, apenas escrita ou apenas leitura, consoante o
tipo de acesso que se deseje dar a cada membro-dado.

string getNome() const { return nome; };
string getCurso() const { return curso; };
int getNumero() const { return numero; };
int getMedia() const { return media; };
void setDados(string umCurso, int umNumero, int umaMedia)
{ curso = umCurso; numero = umNumero; media = umaMedia; };
void setDados(string umCurso, int umNumero)
{ curso = umCurso; numero = umNumero; media = 0; };
void setDados(int umaMedia)
{ media = umaMedia; };
};//Aluno




c) Implemente o membro função

string sigla();

que retorna a sigla de um determinado aluno, formada pelas iniciais do seu nome; p. ex., o aluno Pedro
Álvares Cabralterá a sigla “PAC”.


string Aluno::sigla()
{
string sigla, palavra;
stringstream ss (nome);
while (ss >> palavra)
sigla = sigla + palavra.at(0);
return sigla;
};//sigla()





d) Implemente o membro função

void imprimirAluno(ostream &os);

que imprime na stream de saída indicada, que poderá ser um ficheiro ou o ecrã, p. ex., as informações de
um determinado aluno, obedecendo ao seguinte formato:

<número> <nome> <média>


void Aluno::imprimirAluno(ostream &os)
{
os <<"\t"<< nome <<" | "<< curso <<" | "<< numero <<" | "<< media << endl;
}//imprimirAluno()



int main()
{
ofstream file;
Aluno a2("Carlos Carvalho", "Ciclismo", 125);

cout << "Lista de alunos: (nome | curso | numero | media)" << endl;
a2.imprimirAluno(cout);
cout << endl;

file.open(FICH);
if (file)
a2.imprimirAluno(file);
else
{
cerr << "\nErro na abertura do fich " << FICH << endl;
return 1;
}
file.close();

return 0;
} // acrescentar umas merdas no ficheiro


:o ??????

hellooooo .. whats this...!!!
I think that your resolution is perfect :D
Topic archived. No new replies allowed.