From 50efd5be5ad00f79bfb1e82214cee9d9fee744f4 Mon Sep 17 00:00:00 2001 From: Lukian Date: Mon, 20 Nov 2023 18:53:08 +0100 Subject: [PATCH] commit --- conf.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ conf.h | 2 ++ data/confs | 10 -------- data/listeners | 2 +- main.exe | Bin 49411 -> 50499 bytes screenManager.c | 35 +++++++++++++++++++++------- 6 files changed, 90 insertions(+), 19 deletions(-) diff --git a/conf.c b/conf.c index 14f5a05..52d9b6f 100644 --- a/conf.c +++ b/conf.c @@ -44,6 +44,36 @@ void addConf(ptConf confChain, int id, char title[], char speaker[], int day, in px -> next -> next = NULL; } +void removeConf(ptConf confChain, int id) { + ptConf px = confChain; + + if (px -> next -> next == NULL) { + free(px -> next); + px -> next = NULL; + } else if (px -> id == id) { + px -> id = px -> next -> id; + strcpy(px -> title, px -> next -> title); + strcpy(px -> speaker, px -> next -> speaker); + px -> day = px -> next -> day; + px -> month = px -> next -> month; + px -> year = px -> next -> year; + + ptConf tmp = px -> next; + px -> next = px -> next -> next; + free(tmp); + } else { + while (px -> next != NULL && px -> next -> id != id) { + px = px -> next; + } + + if (px -> next -> id == id) { + ptConf tmp = px -> next; + px -> next = px -> next -> next; + free(tmp); + } + } +} + int findListenerId(ptListener listenerChain) { ptListener px = listenerChain; int max = 0; @@ -83,4 +113,34 @@ void addListener(ptListener listenerChain, int id, char name[], int age, int lev px -> next = (ptListener) malloc(sizeof(tListener)); px -> next -> next = NULL; px -> next -> prev = px; +} + +void removeListener(ptListener listenerChain, int id) { + ptListener px = listenerChain; + + if (px -> next -> next == NULL) { + free(px -> next); + px -> next = NULL; + } else if (px -> id == id) { + px -> id = px -> next -> id; + strcpy(px -> name, px -> next -> name); + px -> age = px -> next -> age; + px -> level = px -> next -> level; + + ptListener tmp = px -> next; + px -> next = px -> next -> next; + px -> next -> prev = px; + free(tmp); + } else { + while (px -> next != NULL && px -> next -> id != id) { + px = px -> next; + } + + if (px -> next -> id == id) { + ptListener tmp = px -> next; + px -> next = px -> next -> next; + px -> next -> prev = px; + free(tmp); + } + } } \ No newline at end of file diff --git a/conf.h b/conf.h index df182db..861266f 100644 --- a/conf.h +++ b/conf.h @@ -42,8 +42,10 @@ typedef tListenerList* ptListenerList; int findConfId(ptConf confChain); ptConf newConfChain(); void addConf(ptConf confChain, int id, char title[], char speaker[], int day, int month, int year); +void removeConf(ptConf confChain, int id); int findListenerId(ptListener listenerChain); ptListener newListenerChain(); void addListener(ptListener listenerChain, int id, char name[], int age, int level); +void removeListener(ptListener listenerChain, int id); #endif // CONF_H diff --git a/data/confs b/data/confs index fd141d3..e69de29 100644 --- a/data/confs +++ b/data/confs @@ -1,10 +0,0 @@ -1,coucou mes copains,Jean-Pierre,25,12,2023 -2,coucou mes copains,Jean-Pierre,25,12,2023 -3,coucou mes copains,Jean-Pierre,25,12,2023 -4,coucou mes copains,Jean-Pierre,25,12,2023 -5,la,belle,6422476,762406370,6422132 -6,la,belle,6422476,-26872523,6422132 -7,e,e,22,7,2004 -8,Test,de,6422476,-1123880272,6422132 -9,Test,a,6422476,-2011631347,6422132 -10,test,test,1,1,1 diff --git a/data/listeners b/data/listeners index fef4bcb..d396019 100644 --- a/data/listeners +++ b/data/listeners @@ -1 +1 @@ -1,Jose,26,4 +1,jose,12,3 diff --git a/main.exe b/main.exe index 1baabea4e58045cab9c8357b425fe640d01c82a7..e44e317210d280268176847e8a92434bf317083e 100644 GIT binary patch delta 9084 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 RrITSIb-tPDOnOVN`ClN=NU{I` diff --git a/screenManager.c b/screenManager.c index af893a8..2c523ea 100644 --- a/screenManager.c +++ b/screenManager.c @@ -125,12 +125,23 @@ void menuConf(ptConf confChain, ptListener listenerChain) { scanf("%d", &year); addConf(confChain, id, title, speaker, day, month, year); + saveConf(confChain); menuConf(confChain, listenerChain); break; } case 3: + { + int id; + + printf("Id de la conference à supprimer : "); + scanf("%d", &id); + + removeConf(confChain, id); + saveConf(confChain); + menuConf(confChain, listenerChain); break; + } case 4: menu(confChain, listenerChain); @@ -157,11 +168,11 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { ptListener py = listenerChain; while (py -> next != NULL) { - printf("name: %s\nage: %d\nlevel: %d", py -> name, py -> age, py -> level); + printf("id : %d\nname: %s\nage: %d\nlevel: %d", py -> id, py -> name, py -> age, py -> level); py = py -> next; } system("pause"); - menuConf(confChain, listenerChain); + menuAbo(confChain, listenerChain); break; case 2: @@ -178,12 +189,23 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { scanf("%d", &level); addListener(listenerChain, id, name, age, level); + saveListeners(listenerChain); menuAbo(confChain, listenerChain); break; } case 3: + { + int id; + + printf("Id de l'abonné à supprimer : "); + scanf("%d", &id); + + removeListener(listenerChain, id); + saveListeners(listenerChain); + menuAbo(confChain, listenerChain); break; + } case 4: menu(confChain, listenerChain); @@ -196,10 +218,10 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { void menu(ptConf confChain, ptListener listenerChain) { - char *options[] = {"1/ Gestion des conferences", "2/ Gestion des abonnes", "3/ Participer a une conference", "4/ Voir la meilleure conference", "5/ Voir la participation a une conference", "6/ Sauvegarder", "7/ Quitter"}; + char *options[] = {"1/ Gestion des conferences", "2/ Gestion des abonnes", "3/ Participer a une conference", "4/ Voir la meilleure conference", "5/ Voir la participation a une conference", "6/ Quitter"}; system("cls"); - drawMenu(options, 7); - goToCoords(0, 15); + drawMenu(options, 6); + goToCoords(0, 14); printf("Que voulez-vous faire ? : "); int choice; scanf("%d", &choice); @@ -224,9 +246,6 @@ void menu(ptConf confChain, ptListener listenerChain) break; case 6: - saveConf(confChain); - saveListeners(listenerChain); - menu(confChain, listenerChain); break; default: