Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Vou fazendo de pouco em pouco.
Escreva uma classe chamada Aluno que contenha os atributos privados denominados
nome, matricula, nota1, nota2, nota3, peso1, peso2 e peso3. Além disso,
a) Crie um construtor-padrão para a classe.
B) Crie um construtor que inicialize todos os membros de dados com os valores
recebidos como argumento.
c) Crie os métodos de acesso (getters e setters) para todos os atributos. Os
métodos setters devem validar os dados de entrada conforme as regras
definidas abaixo:
✔ o nome deve conter pelo menos dois caracteres;
✔ a matrícula de ser constituída de 9 dígitos apenas;
d) Escreva um método público para calcular a média ponderada das três notas;
e) Sabendo que os quatro primeiros dígitos da matrícula representam o ano de
ingresso do aluno na instituição de ensino, escreva um método que, a partir da
matrícula, retorne o ano de ingresso.
f) Implemente um programa-exemplo para testar sua classe que utilize todos os
atributos e métodos criados.
Tá dando lup infinito na matrícula como fazer para limitar até 9 digitos sem dar lup ifinito?
#include <iostream>
using namespace std;
class Aluno
{
private:
string nome;
int matricula;
double nota1,nota2,nota3,peso1,peso2,peso3;
public:
Aluno(){//construtor
}
Aluno(string n,int m,double n1,double n2,double n3,double p1,double p2,double p3) {
nome=n;
matricula=m;
nota1=n1;
nota2=n2;
nota3=n3;
peso1=p1;
peso2=p2;
peso3=p3;
}
bool setNome(string no) {
int tam=no.size();
if (tam<2)
return false;
nome=no;
return true;
}
string getNome() {
return nome;
}
bool setMatricula(int m){ // Método de Acesso para a validação da MATRICULA.
if (m < 100000000 || m < 999999999){
return false;
}
matricula = m;
return true;
}
int getMatricula(){
return matricula;
}
void print() { //mostra o valor na tela
cout << "-------------\n";
cout << "Nome: " <<nome<< endl;
cout << "Matricula: " <<matricula<< endl;
}
};
int main(){
Aluno p;
string nome;
int matricula;
double nota1,nota2,nota3,peso1,peso2,peso3;
do {//Repita
cout << "Digite o nome: ";
getline(cin,nome);
} while (!p.setNome(nome));//Até
do {//Repita
cout << "Digite a Matricula: ";
cin>>matricula;
} while (!p.setMatricula(matricula));//Até
p.print();
system("PAUSE");
return 0;
}Carregando comentários...