Début de l'interface pour C12

This commit is contained in:
Mysaa 2021-11-19 15:55:57 +01:00
parent e95eb2d275
commit d1f50dc10e
Signed by: Mysaa
GPG Key ID: DBA23608F23F5A10

65
C12.2.c
View File

@ -3,6 +3,7 @@
#include<stdlib.h> #include<stdlib.h>
#define NameLength 16 #define NameLength 16
#define NameLengthScanf "%16s"
/* 1 */ /* 1 */
@ -483,7 +484,7 @@ void freeListe(struct personnage* origin){
///// Main pour les tests ///// Main pour les tests
int main(){ int mainTests(){
struct personnage* liste = NULL; struct personnage* liste = NULL;
@ -521,4 +522,66 @@ int main(){
freeListe(liste); 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;
} }