Merci d'avoir répondu à ma demande d'aide.
Voici la source sur laquelle je coince:
#include<iostream.h>
#include<string.h>
#define maxlist 10
int indicecourant;
struct abonne
{
char *nom;
char *ville;
char *annee;
};
struct abonne abon1[maxlist]={{"toto","paris","2003"},{"riri","rouen","2001"},{"henry","lille","2000"},{"fred","evry","2003"}};
void menuab();
void menucons();
void creation();
int rechercher();
int suppression();
void consultind();
void consultcol();
char quitter();
void main()
{
indicecourant=3;
inittab();
menuab();
}
void menuab()
{
int choix;
cout<<"\t\tMENU ABONNES"<<endl;
cout<<"\t1: CREATION"<<endl;
cout<<"\t2: SUPPRESSION"<<endl;
cout<<"\t3: CONSULTATION"<<endl;
cout<<"\t0: POUR QUITTER"<<endl;
cout<<"\tQuelle option choisissez-vous?"<<endl;
cin>>choix;
switch (choix)
{
case 1:creation();
break;
case 2:suppression();
break;
case 3:menucons();
break;
case 0:quitter();
break;
}
}
void menucons()
{
int choix;
cout<<"\t\tMENU CONSULTATION"<<endl;
cout<<"\t1:AFFICHER UN ABONNE"<<endl;
cout<<"\t2:AFFICHER LA LISTE DES ABONNES"<<endl;
cout<<"\tQuelle option choisissez-vous?"<<endl;
cin>>choix;
switch (choix)
{
case 1:consultind();
case 2:consultcol();
break;
}
menuab();
}
void creation()
{
if(indicecourant==maxlist-1)
{
cout<<"le tableau d'abonnés est plein, impossible de rajouter un nouvel abonné"<<endl;
}
else
{
indicecourant++;
cout<<"\tindicecourant="<<indicecourant<<endl;
cout<<"\tAjout d'un abonné"<<endl;
cout<<"\tSaisissez le nom de l'abonné"<<endl;
cin>>abon1[indicecourant].nom;
cout<<"\tSaisissez la ville de résidence de l'abonné"<<endl;
cin>>abon1[indicecourant].ville;
cout<<"\tSaisissez l'année du premier abonnement"<<endl;
cin>>abon1[indicecourant].annee;
}
menuab();
}
int rechercher()
{
int i,indice=-1;
char nomrecherche[20];
cout<<"\tQuel est le nom de l'abonné à rechercher?"<<endl;
cin>> nomrecherche;
for(i=0;i<indicecourant;i++)
{
if (strcmp(abon1[i].nom, nomrecherche) == 0)
{
indice=i;
}
}
return (indice);
}
int suppression()
{
char *nomsup;
int i,indice=-1;
cout<<"\tSuppression d'un abonné"<<endl;
indice=rechercher();
if(indice==-1)
{
cout<<"le nom sélectionné n'est pas un abonné!"<<endl;
}
else
{
for(i=indice;i<indicecourant-1;i++)
{
abon1[i].nom=abon1[i+1].nom;
abon1[i].ville=abon1[i+1].ville;
abon1[i].annee=abon1[i+1].annee;
}
}
indicecourant=indicecourant-1;
menuab();
}
void consultind()
{
int indice=-1;
indice=rechercher();
if(indice==-1)
{
cout<<"le nom sélectionné n'est pas un abonné!"<<endl;
}
else
{
cout<<"\tNOM \tVILLE \tANNEE"<<endl;
cout<<"\t"<<abon1[indice].nom<<"\t "<<abon1[indice].ville<<"\t "<<abon1[indice].annee<<endl;
}
menuab();
}
void consultcol()
{
int i;
cout<<"\tNOM \tVILLE \tANNEE"<<endl;
for(i=0;i<indicecourant;i++)
{
cout<<"\t"<<abon1[i].nom<<"\t "<<abon1[i].ville<<"\t "<<abon1[i].annee<<endl;
}
menuab();
}
char quitter()
{
cout<<"\tMerci d'avoir utilisé ce petit programme"<<endl;
}