Début de l'interface pour C12
This commit is contained in:
parent
e95eb2d275
commit
d1f50dc10e
65
C12.2.c
65
C12.2.c
@ -3,6 +3,7 @@
|
||||
#include<stdlib.h>
|
||||
|
||||
#define NameLength 16
|
||||
#define NameLengthScanf "%16s"
|
||||
|
||||
/* 1 */
|
||||
|
||||
@ -483,7 +484,7 @@ void freeListe(struct personnage* origin){
|
||||
|
||||
///// Main pour les tests
|
||||
|
||||
int main(){
|
||||
int mainTests(){
|
||||
|
||||
struct personnage* liste = NULL;
|
||||
|
||||
@ -521,4 +522,66 @@ int main(){
|
||||
|
||||
|
||||
freeListe(liste);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(){
|
||||
|
||||
struct personnage* liste = NULL;
|
||||
char c;
|
||||
char p1[NameLength+1], p2[NameLength+1];
|
||||
char* newName;
|
||||
int p3;
|
||||
// Bon, j'ai mal lu le sujet, j'ai fait des matrices rectangulaires ...
|
||||
|
||||
printf("Bienvenue sur l'interface pour regarder votre série préférée.\n");
|
||||
printf("'n $nom' pour ajouter un personnage;\n");
|
||||
printf("'p $père' déclare un nouvel enfant à son père;\n");
|
||||
printf("'m $mère' déclare un nouvel enfant à sa mère;\n");
|
||||
printf("'c' afficher l'état actuel;\n");
|
||||
printf("'e' demande d'une entrée de registre;\n");
|
||||
printf("'P $enfant' suppression d'un lien père-enfant;\n");
|
||||
printf("'M $enfant' suppression d'un lien mère-enfant;\n");
|
||||
printf("'o' trier la liste par ordre alphabétique;\n");
|
||||
printf("'v $nom' affiche le nom COMPLET d'un personnage;\n");
|
||||
printf("'a $nom' affiche les ancètres de génération donnée d'un personnage;\n");
|
||||
printf("'A $nom' affiche tous les ancètres d'un personnage;\n");
|
||||
printf("'d $nom' affiche les déscendants d'une génération donnée d'un personnage\n");
|
||||
printf("'D $nom' affiche les déscendants jusqu'à une génération donnée d'un personnage;\n");
|
||||
printf("'x' vérifie la cohérence du graphe généalogique.;\n");
|
||||
printf("'q' pour quitter\n");
|
||||
|
||||
while(1){
|
||||
printf("Commande ? ");
|
||||
c = getchar();
|
||||
getchar();// On bouffe l'espace
|
||||
|
||||
switch(c){
|
||||
case 'n':
|
||||
scanf(NameLengthScanf, p1);
|
||||
p1[NameLength] = '\0';
|
||||
newName = malloc((strlen(p1)+1)*sizeof(char));
|
||||
if(newName==NULL)
|
||||
goto mallocErr;
|
||||
|
||||
strcpy(newName, p1);
|
||||
newUnrelatedM(&liste, newName, 1);
|
||||
|
||||
printf("Le personnage %s a été créé.\n", newName);
|
||||
|
||||
break;
|
||||
case 'q':
|
||||
goto fend;
|
||||
|
||||
}
|
||||
getchar();
|
||||
}
|
||||
|
||||
|
||||
fend: freeListe(liste);
|
||||
return 0;
|
||||
|
||||
mallocErr: freeListe(liste);
|
||||
return 1;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user