On veut gérer un répertoire téléphonique (contenant les noms et numéros de téléphones de personnes).
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 |
#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 < 1 || 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<nb; 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<nb; 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<nb; i++) { if (strcmp(nom, rep[i].nom) == 0) { return rep[i].numero; } } return NULL; } |