Exercice langage C : Répertoire téléphonique

On veut gérer un répertoire téléphonique (contenant les noms et numéros de téléphones de personnes).

  1. définir un type de structure PERS qui contient deux champs : le nom d'une personne et son numéro de téléphone
  2. écrire une fonction saisir_personne qui permet de saisir une personne (une structure de type PERS)
  3. écrire une fonction saisir_repertoire qui permet de saisir un tableau de personnes
  4. écrire une fonction afficher_repertoire qui permet d'afficher le contenu du répertoire
  5. écrire une fonction chercher_personne qui permet de chercher un numéro d'une personne donnée dans le répertoire
  6. écrire une fonction main qui saisit un répertoire téléphonique et propose le dialogue suivant :
    • 1- afficher le contenu du répertoire
    • 2- chercher le numéro de téléphone d'une personne
    • 3- quitter le Programme

#include
#include
struct personne
{
char nom[20]; /* Le nom de la personne */
char numero[11]; /* le numero de telephone */
};
typedef struct personne PERS;
void saisir_personne(PERS *pp);
void saisir_repertoire(PERS rep[], int nb);
void afficher_repertoire(PERS rep[], int nb);
char *chercher_personne(PERS rep[], int nb, char *nom);
int main()
{
PERS monRep[5];
int choix;
char nom[20], *pnum;
saisir_repertoire(monRep, 5);
do
{
do
{
printf("\nMenu:\n");
printf("1-afficher le contenu du répertoire\n");
printf("2-chercher le numéro d'une personne\n");
printf("3-quitter le programme\n");
printf("Votre choix : ");
scanf("%d", &choix);
}
while (choix 3);
switch (choix)
{
case 1 : afficher_repertoire(monRep, 5);
break;
case 2 : printf("nom a rechercher : ");
scanf("%s", nom);
pnum = chercher_personne(monRep, 5, nom);
if (pnum == NULL)
{
printf(" Personne inexistante\n");
}
else
{
printf("--> Numero de %s: %s\n", nom, pnum);
}
break;
default : break;
}
}
while (choix != 3);
return 0;
}
void saisir_personne(PERS *pp)
{
printf("Nom : "); scanf("%s", pp->nom);
printf("Numero : "); scanf("%s", pp->numero);
}
void saisir_repertoire(PERS rep[], int nb)
{
int i;
printf("Saisie du repertoire de %d personnes :\n", nb);
for (i=0; i{
saisir_personne(&rep[i]);
}
}
void afficher_repertoire(PERS rep[], int nb)
{
int i;
printf("Affichage du repertoire\n");
printf("%20s ...... Numero\n", "Nom");
for (i=0; i{
printf("%20s ...... %s\n", rep[i].nom, rep[i].numero);
}
}
char *chercher_personne(PERS rep[], int nb, char *nom)
{
int i;
for (i=0; i{
if (strcmp(nom, rep[i].nom) == 0)
{
return rep[i].numero;
}
}
return NULL;
}

Article publié le 23 Février 2012 Mise à jour le Lundi, 07 Novembre 2022 15:00 par BENKIRANE Fatima Ezzahra