1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
class Enseignant
{
int PPR;
char Nom[20];
char Prenom[30];
int Nb_mat;
Matiere Tab_Matiere[5]; // tableau des matières
public:
static int ct;
Enseignant ();
Enseignant (int, char *, char *);
void supprimer(int);
void afficher(int);
void affiche ();
void ajouter_ensei();
void ajouter_matiere(int );
~Enseignant ();
};
int Enseignant::ct=0;
///////////////////====== Constructeur par défaut======/////////////////////
Enseignant::Enseignant()
{
PPR=0;
strcpy(Nom,"");
strcpy(Prenom,"");
Nb_mat=0;
}
///////////////////====== Constructeur Surchargé======/////////////////////
Enseignant::Enseignant(int n,char *m,char *p)
{
PPR=n;
strcpy(Nom,m);
strcpy(Prenom,p);
Nb_mat=0;
ct++;
}
///////////////////====== Fonction ajouter un enseignant======/////////////////////
void Enseignant::ajouter_ensei()
{
int Num;
char Nom[20],Pre[30];
cout<<"\nEntrer le PPR: ";
cin>>Num;
cout<<"\nEntrer le Nom: ";
gets(Nom);
cout<<"\nEntrer le Prenom: ";
gets(Pre);
*(this + ct-1)=Enseignant(Num,Nom,Pre);
}
///////////////////====== Fonction ajouter une matière à un enseignant======/////////////////////
void Enseignant::ajouter_matiere(int pp){
int Id_mat;
char Intitule[20];
for(int i=0;i<ct;i++)
if((this+i)->PPR==pp) {
cout<<"\n id: ";
cin>>Id_mat;
cout<<"\nIntitule : ";
gets(Intitule);
(this+i)->Tab_Matiere[(this+i)->Nb_mat++]=Matiere(Id_mat,Intitule) ;
}
}
///////////////////====== Fonction afficher l'enseignant courant ======/////////////////////
void Enseignant::affiche()
{
cout<<"PPr:"<<PPR<<endl;
cout<<"Nom:"<<Nom<<endl;
cout<<"Prénom:"<<Prenom<<endl;
cout<<"----------------------"<<endl;
}
///////////////////====== Fonction afficher un enseignant donné======/////////////////////
void Enseignant::afficher(int code)
{
int i;
for(i=0;i<ct;i++)
if((this+i)->PPR==code)
{
(this+i)->affiche();
cout<<"\n liste des matières enseignées :\n";
for(int j=0;j<(this+i)->Nb_mat;j++)
(this+i)->Tab_Matiere[j].afficher();
break;
}
}
///////////////////====== Fonction Supprimer un enseignant donné======/////////////////////
void Enseignant::supprimer(int code)
{
int i,j;
for(i=0;i<ct;i++)
if((this+i)->PPR==code)
{
for(j=i;j<ct-1;j++)
*(this+j)=*(this+j+1);
ct--;
break;
|