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
| void ecole::supprimer_classe()
{
chaine rech;
bool trouve;
classe * c, *ptr;
c = this->tete_classe;
cout<<"\n Liste des classes:";
while (c!=NULL)
{
cout<<"\n\n Nom de la classe:"<<c->retour_nom();
c = c->retour_suiv();
}
cout <<"\n\n Saisir le nom de classe a supprimer:";
cin.ignore();
cin.getline(rech,30,'\n');
trouve=false;
c=ptr=this->tete_classe;
while(trouve==false && c!=NULL)
{
if (strcmp(rech, c->retour_nom())==0)
trouve = true;
else
ptr=c;
c=c->retour_suiv();
}
if (trouve==false)
cout<<"\n Classe non trouvee";
else
{
if (this->tete_classe==c)
{
this->tete_classe=c->retour_suiv();
}
else {
if (c->retour_suiv==NULL)
{
ptr->modif_suiv(NULL);
}
else {
ptr->modif_suiv(c->retour_suiv());
}
}
delete c;
}
} |
Partager