Exercice langage C++: L’héritage

<class="brush:cpp">#include &lt;iostream.h&gt;
#include &lt;string.h&gt;
void menu_etudiant();
void menu_enseignant();
class personne {
char nom[20];
char prenom[20];
int age;
public:
personne(char n[20]="",char p[20]="",int a=0) {
strcpy(nom,n);
strcpy(prenom,p);
age=a;
}
void identification() {
cout&lt;&lt;"Entrez le nom de la personne : ";
cin&gt;&gt;nom;
cout&lt;&lt;"Entrez le prenom de la personne : ";
cin&gt;&gt;prenom;
cout&lt;&lt;"Entrez l'age de la personne : ";
cin&gt;&gt;age;
}
void affiche() {
cout&lt;&lt;"Nom : "&lt;&lt;nom&lt;&lt;endl;
cout&lt;&lt;"Prenom : "&lt;&lt;prenom&lt;&lt;endl;
cout&lt;&lt;"Age : "&lt;&lt;age&lt;&lt;endl;
}
};
class etudiant:personne {
char cours[5];
int *notes;
public:
etudiant(char n[20],char p[20],int a,char c[5],int *no):personne(n,p,a){
strcpy(cours,c);
notes=new int [5];
}
void affect_etudiant() {
personne::identification();
menu_etudiant();
for(int i=0;i&lt;5;i++) {
cout&lt;&lt;"Quelle est la matiere ? ";
cin&gt;&gt;cours[i];
if(cours[i]=='x') break;
cout&lt;&lt;"Notes obtenues ? ";
cin&gt;&gt;notes[i];
}
}
void affiche() {
float moy=0;
personne::affiche();
cout&lt;&lt;"Cours suivis et notes : "&lt;&lt;endl;
for(int i=0;i&lt;5;i++) {
if(cours[i]=='p') cout&lt;&lt;"Programmation"&lt;&lt;"
"&lt;&lt;notes[i]&lt;&lt;endl;
if(cours[i]=='e') cout&lt;&lt;"Electronique"&lt;&lt;" "&lt;&lt;notes[i]&lt;&lt;endl;
if(cours[i]=='r') cout&lt;&lt;"Reseau"&lt;&lt;" "&lt;&lt;notes[i]&lt;&lt;endl;
if(cours[i]=='t') cout&lt;&lt;"Technologie des composants
electroniques"&lt;&lt;" "&lt;&lt;notes[i]&lt;&lt;endl;
if(cours[i]=='x') break;
moy=moy+notes[i];
}
cout&lt;&lt;"Moyenne de l'etudiant : "&lt;&lt;moy/4&lt;&lt;endl;
}
};
class enseignant:public personne {
char matieres[5];
int *nbre_heure;
int tarif_horraire;
public:
enseignant(char n[20],char p[20],int a,char mat[5],int *heures,int
tarif):personne(n,p,a) {
strcpy(matieres,mat);
nbre_heure=new int [5];
tarif_horraire=tarif;
}
void affect_enseignant() {
personne::identification();
menu_enseignant();
for(int i=0;i&lt;5;i++) {
cout&lt;&lt;"Une matiere enseignee : ";
cin&gt;&gt;matieres[i];
if(matieres[i]=='x') break;
cout&lt;&lt;"Nombre d'heures pour ce cours : ";
cin&gt;&gt;nbre_heure[i];
}
cout&lt;&lt;"Tarif horraire de cet enseignant : ";
cin&gt;&gt;tarif_horraire;
}
void affiche() {
int total_heure=0,total_salaire=0;
personne::affiche();
cout&lt;&lt;"Cours donnes et nombre d'heures : "&lt;&lt;endl;
for(int i=0;i&lt;5;i++) {
if(matieres[i]=='p') cout&lt;&lt;"Programmation"&lt;&lt;"
"&lt;&lt;nbre_heure[i]&lt;&lt;endl;
if(matieres[i]=='e') cout&lt;&lt;"Electronique"&lt;&lt;"
"&lt;&lt;nbre_heure[i]&lt;&lt;endl;
if(matieres[i]=='r') cout&lt;&lt;"Reseau"&lt;&lt;"
"&lt;&lt;nbre_heure[i]&lt;&lt;endl;
if(matieres[i]=='t') cout&lt;&lt;"Technologie des composants
electroniques"&lt;&lt;" "&lt;&lt;nbre_heure[i]&lt;&lt;endl;
if(matieres[i]=='m') cout&lt;&lt;"Laboratoire de micro
controlleur"&lt;&lt;" "&lt;&lt;nbre_heure[i]&lt;&lt;endl;
if(matieres[i]=='o') cout&lt;&lt;"Micro ordinateur"&lt;&lt;"
"&lt;&lt;nbre_heure[i]&lt;&lt;endl;
if(matieres[i]=='x') break;
total_heure=total_heure+nbre_heure[i];
}
total_salaire = total_heure * tarif_horraire;
cout&lt;&lt;"Nombre d'heures donnees par l'enseignant :
"&lt;&lt;total_heure&lt;&lt;endl;
cout&lt;&lt;"Salaire de l'enseignant : "&lt;&lt;total_salaire&lt;&lt;endl;
}
};
void main() {
cout&lt;&lt;"Etudiant : "&lt;&lt;endl;
etudiant etu1("Touijrat","Abdel",29,"pe",0);
etu1.affect_etudiant();
etu1.etudiant::affiche();
cout&lt;&lt;"Enseignant : "&lt;&lt;endl;
enseignant ens1("Dedecker","Jeff",45,"e",0,13);
ens1.affect_enseignant();
ens1.enseignant::affiche();
}
void menu_etudiant() {
cout&lt;&lt;"Entrez 'p' pour programmation"&lt;&lt;endl;
cout&lt;&lt;"Entrez 'e' pour electronique"&lt;&lt;endl;
cout&lt;&lt;"Entrez 't' pour tce"&lt;&lt;endl;
cout&lt;&lt;"Entrez 'r' pour reseau"&lt;&lt;endl;
cout&lt;&lt;"Pour arreter, tappez x"&lt;&lt;endl;
}
void menu_enseignant() {
cout&lt;&lt;"Entrez 'p' pour programmation"&lt;&lt;endl;
cout&lt;&lt;"Entrez 'e' pour electronique"&lt;&lt;endl;
cout&lt;&lt;"Entrez 't' pour tce"&lt;&lt;endl;
cout&lt;&lt;"Entrez 'r' pour reseau"&lt;&lt;endl;
cout&lt;&lt;"Entrez 'm' pour laboratoire de microcontrolleur"&lt;&lt;endl;
cout&lt;&lt;"Entrez 'o' pour micro ordinateur"&lt;&lt;endl;
cout&lt;&lt;"Pour arreter, tappez x"&lt;&lt;endl;
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *