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
| #include <stdio.h>
#include <string.h>
#include <stdlib.h>
int jid=0;
typedef struct contact {
int id;
char *nom;
struct contact *next;
};
contact* add_contact (contact *nouv, contact *tete) { // fct qui ajoute une maille à la liste chainée
contact * pCourant;
if (tete != NULL) {
pCourant = tete;
while (pCourant->next != NULL)
pCourant = pCourant->next;
}
nouv = (contact*)malloc(sizeof(struct contact));
if (tete!= NULL ) pCourant->next = nouv;
nouv->next = NULL;
nouv->nom = NULL;
return nouv;
}
contact* mod_contact (contact *sel, char *vNom) { // associe des valeurs aux variables de la liste chainée
sel->id = jid;
jid++;
sel->nom = (char*) malloc ((strlen (vNom) + 1) * sizeof (sel));
strcpy(sel->nom,vNom);
return sel;
}
int main ()
{
/* Valeurs entrées par l'utilisateur */
int choix; // choix d'action (ajouter un contact/lire la liste de contacts/quitter)
char *vNom; // variable nom
/* Initialisation des pointeurs pour la liste chainée */
contact *nouv; // maille temporaire de la liste
contact *tete; // tete le la liste chainée
contact *sel; // maille selectionnee localement (sur laquelle on veut travailler)
tete = NULL;
sel = NULL;
while (1) {
choix=0;
printf ("Que voulez-vous faire?\n 1)Ajouter un contact\n 2)Visualiser la liste de contacts\n 3)Quitter\n\n");
scanf ("%s", &choix);
if (choix == '1') {
sel = add_contact (nouv, tete); //creer une nouvelle maille
if (tete == NULL)
tete=sel; // si c'est la premiere maille, c'est la tete
printf ("\nNom :");
scanf ("%s", &vNom);
sel = mod_contact (sel, vNom); // rentrer vNom dans la liste chainée
printf ("Operation terminee\n\n"); // inutile mais j'ai trouvé ça joli
}
else if (choix == '2') {
printf ("Carnet vide\n\n"); // pour le moment je mets ça
}
else if (choix == '3') {
break; // quitter
}
else
printf ("Saisie incorrecte\n\n");
}
return 0;
} |
Partager