From 031b51a9161a387a77dc049566482ef46294084f Mon Sep 17 00:00:00 2001 From: Lukian LEIZOUR Date: Wed, 29 Nov 2023 22:55:40 +0100 Subject: [PATCH] commit --- chaise.bat | 23 -------- conf.c | 144 +++++++++++++++++++++++++---------------------- conf.h | 2 + data/confs | 2 +- data/relations | 3 + dataBackup/confs | 1 + main.exe | Bin 52833 -> 54723 bytes screenManager.c | 70 +++++++++++------------ singleFile.c | 73 +++++++++++++++++------- singleFile.exe | Bin 0 -> 144160 bytes 10 files changed, 172 insertions(+), 146 deletions(-) delete mode 100644 chaise.bat create mode 100644 singleFile.exe diff --git a/chaise.bat b/chaise.bat deleted file mode 100644 index 7e776fe..0000000 --- a/chaise.bat +++ /dev/null @@ -1,23 +0,0 @@ -@echo off -setlocal - -:: Vérifier si Dev-Cpp est installé -reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Dev-Cpp" >nul 2>&1 -if %errorlevel% equ 0 ( - for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Dev-Cpp" /v Location ^| find "Location"') do ( - set "mingwBin=%%b\MinGW64\bin" - ) - - :: Ajouter le chemin vers le bin de MinGW à la variable d'environnement PATH - echo %PATH% | find "%mingwBin%" >nul - if not errorlevel 1 ( - echo Le chemin d'accès aux bin de MinGW est déjà présent dans la variable d'environnement PATH. - ) else ( - setx PATH "%PATH%;%mingwBin%" -m - echo Le chemin d'accès aux bin de MinGW a été ajouté à la variable d'environnement PATH. - ) -) else ( - echo Dev-Cpp n'est pas installé sur cet ordinateur. -) - -endlocal \ No newline at end of file diff --git a/conf.c b/conf.c index 6b7db6d..5d023ac 100644 --- a/conf.c +++ b/conf.c @@ -21,7 +21,9 @@ int findConfId(ptConf confChain) { ptConf newConfChain() { ptConf confChain = (ptConf) malloc(sizeof(tConf)); - confChain -> next = NULL; + confChain -> next = (ptConf) malloc(sizeof(tConf)); + confChain -> next -> next = NULL; + confChain -> id = -1; return confChain; } @@ -40,7 +42,9 @@ void addConf(ptConf confChain, int id, char title[], char speaker[], int day, in strcpy(px -> title, title); strcpy(px -> speaker, speaker); px -> listeners = (ptListenerList) malloc(sizeof(tListenerList)); - px -> listeners -> next = NULL; + px -> listeners -> next = (ptListenerList) malloc(sizeof(tListenerList)); + px -> listeners -> listener = NULL; + px -> listeners -> next -> next = NULL; px -> next = (ptConf) malloc(sizeof(tConf)); px -> next -> next = NULL; } @@ -48,44 +52,21 @@ void addConf(ptConf confChain, int id, char title[], char speaker[], int day, in void removeConf(ptConf confChain, int id) { ptConf px = confChain; - if (px -> next -> next == NULL) { - ptListenerList py = px -> listeners; - - while (py -> next != NULL) { - ptConfList pz = py -> listener -> confs; - - while (pz -> next != NULL) { - if (pz -> next -> next ) - - pz = pz -> next; - } - - py = py -> next; - } - + while (px -> next != NULL && px -> next -> id != id) { + px = px -> next; + } + + if (px -> next != NULL && px -> next -> id == id) { + ptListenerList py = px -> next -> listeners -> next; + + while (py -> next != NULL) { + removeConfFromConfList(py -> listener -> confs, px -> next); + py = py -> next; + } + + ptConf tmp = px -> next -> next; 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); - } + px -> next = tmp; } } @@ -108,7 +89,9 @@ ptListener newListenerChain() { ptListener listenerChain = (ptListener) malloc(sizeof(tListener)); listenerChain -> prev = NULL; - listenerChain -> next = NULL; + listenerChain -> next = (ptListener) malloc(sizeof(tListener)); + listenerChain -> next -> prev = listenerChain; + listenerChain -> id = -1; return listenerChain; } @@ -129,7 +112,9 @@ int addListener(ptListener listenerChain, int id, char name[], int age, int leve px -> age = age; px -> level = level; px -> confs = (ptConfList) malloc(sizeof(tConfList)); - px -> confs -> next = NULL; + px -> confs -> next = (ptConfList) malloc(sizeof(tConfList)); + px -> confs -> conf = NULL; + px -> confs -> next -> next = NULL; px -> next = (ptListener) malloc(sizeof(tListener)); px -> next -> next = NULL; px -> next -> prev = px; @@ -139,30 +124,22 @@ int addListener(ptListener listenerChain, int id, char name[], int age, int leve void removeListener(ptListener listenerChain, int id) { ptListener px = listenerChain; - if (px -> next -> next == NULL) { + while (px -> next != NULL && px -> next -> id != id) { + px = px -> next; + } + + if (px -> next != NULL && px -> next -> id == id) { + ptConfList py = px -> next -> confs -> next; + + while (py -> next != NULL) { + removeListenerFromListenerList(py -> conf -> listeners, px -> next); + py = py -> next; + } + + ptListener tmp = px -> next -> next; 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 = tmp; 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); - } } } @@ -179,6 +156,25 @@ void addConfToConfList(ptConfList confList, ptConf conf, int grade) { px -> next -> next = NULL; } +void removeConfFromConfList(ptConfList confList, ptConf conf) { + ptConfList px = confList; + + while (px -> next != NULL && px -> conf != conf) { + px = px -> next; + } + + printConfList(confList -> next); + printf("%d\n", px -> conf -> id); + + if (px -> next != NULL && px -> next -> conf == conf) { + ptConfList tmp = px -> next -> next; + free(px -> next); + px -> next = tmp; + } + + system("pause"); +} + void printConfList(ptConfList confList) { ptConfList px = confList; @@ -203,10 +199,24 @@ void addListenerToListenerList(ptListenerList listenerList, ptListener listener, px -> next -> next = NULL; } +void removeListenerFromListenerList(ptListenerList listenerList, ptListener listener) { + ptListenerList px = listenerList; + + while (px -> next != NULL && px -> listener != listener) { + px = px -> next; + } + + if (px -> next != NULL && px -> next -> listener == listener) { + ptListenerList tmp = px -> next -> next; + free(px -> next); + px -> next = tmp; + } +} + void printListenerList(ptListenerList listenerList) { ptListenerList px = listenerList; - printf(" Participants : "); + printf("Participants : "); while (px -> next != NULL) { printf("%s(%d) ", px -> listener -> name, px -> grade); px = px -> next; @@ -227,7 +237,7 @@ int participateToConf(ptConf confChain, ptListener listenerChain, int confId, in px = px -> next; } - pz = px -> listeners; + pz = px -> listeners -> next; while (pz -> next != NULL) { if (pz -> listener -> id == listenerId) { return -2; @@ -250,7 +260,7 @@ int participateToConf(ptConf confChain, ptListener listenerChain, int confId, in } int confGradeAvg(ptConf conf) { - ptListenerList px = conf -> listeners; + ptListenerList px = conf -> listeners -> next; int total = 0, nb = 0; while (px -> next != NULL) { @@ -268,7 +278,7 @@ int confGradeAvg(ptConf conf) { } int confParticipations(ptConf conf) { - ptListenerList px = conf -> listeners; + ptListenerList px = conf -> listeners -> next; int nb = 0; while (px -> next != NULL) { diff --git a/conf.h b/conf.h index ac9c7f9..6898a2b 100644 --- a/conf.h +++ b/conf.h @@ -50,8 +50,10 @@ ptListener newListenerChain(); int addListener(ptListener listenerChain, int id, char name[], int age, int level); void removeListener(ptListener listenerChain, int id); void addConfToConfList(ptConfList confList, ptConf conf, int grade); +void removeConfFromConfList(ptConfList confList, ptConf conf); void printConfList(ptConfList confList); void addListenerToListenerList(ptListenerList listenerList, ptListener listener, int grade); +void removeListenerFromListenerList(ptListenerList listenerList, ptListener listener); void printListenerList(ptListenerList listenerList); int participateToConf(ptConf confChain, ptListener listenerChain, int confId, int listenerId, int grade); int confGradeAvg(ptConf conf); diff --git a/data/confs b/data/confs index 345e76f..fbe43fa 100644 --- a/data/confs +++ b/data/confs @@ -1,4 +1,3 @@ -1,Rapport_du_GIEC,Jean_Jouzzel,15,11,2022 2,L_esprit_critique,Thomas_Durand,6,2,2023 3,La_resilience,Arthur_Keller,20,10,2022 4,American_lobbying,Salah_Oueslati,30,11,2023 @@ -9,3 +8,4 @@ 9,Le_lacet_irlandais,Mick_Oconnell,31,3,2022 10,Litterature_et_SF,Terry_Pratchett,15,5,2021 11,Les_chaises_en_bois,David,24,12,2023 +12,cybersecurite_des_coquillages,Bob,6,2,2024 diff --git a/data/relations b/data/relations index a8edff2..423a92f 100644 --- a/data/relations +++ b/data/relations @@ -1,2 +1,5 @@ 1:12;0,1;4 +2:12;0,1;4 +3:12;0,1;4 +4:12;0,1;4 9:20;5 diff --git a/dataBackup/confs b/dataBackup/confs index 345e76f..fa10f60 100644 --- a/dataBackup/confs +++ b/dataBackup/confs @@ -9,3 +9,4 @@ 9,Le_lacet_irlandais,Mick_Oconnell,31,3,2022 10,Litterature_et_SF,Terry_Pratchett,15,5,2021 11,Les_chaises_en_bois,David,24,12,2023 +12,cybersecurite_des_coquillages,Bob,6,2,2024 diff --git a/main.exe b/main.exe index 5eca2ded87d2793eab5ae35b65fc6962a302e2ea..013df2b4e9febb93eac431f1bc6630552895edef 100644 GIT binary patch delta 11645 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 VKDmf3e!GPEygkqQ!rLc<{|ElmXhr}4 delta 11137 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 z next; while (px -> next != NULL) { - printf(" Id : %d\n Titre : %s\n Conferencier : %s\n", px -> id, px -> title, px -> speaker); - printf(" Date : %d/%d/%d\n",px -> day, px -> month, px -> year); - printf(" Nombre de participants : %d\n", confParticipations(px)); + printf("Id : %d\nTitre : %s\nConferencier : %s\n", px -> id, px -> title, px -> speaker); + printf("Date : %d/%d/%d\n",px -> day, px -> month, px -> year); + printf("Nombre de participants : %d\n", confParticipations(px)); if (px -> listeners -> next != NULL ) { - printListenerList(px -> listeners); + printListenerList(px -> listeners -> next); } int avg; if ((avg = confGradeAvg(px) != -1)) { - printf(" Moyenne des notes : %d\n", confGradeAvg(px)); + printf("Moyenne des notes : %d\n", confGradeAvg(px)); } printf("\n"); px = px -> next; @@ -141,19 +141,19 @@ void menuConf(ptConf confChain, ptListener listenerChain) { char speaker[20]; id = findConfId(confChain); - printf(" Titre de la conference : "); + printf("Titre de la conference : "); scanf("%29s", &title); - printf(" Nom du conferencier : "); + printf("Nom du conferencier : "); scanf("%19s", &speaker); - printf(" Jour : "); + printf("Jour : "); scanf("%d", &day); - printf(" Mois : "); + printf("Mois : "); scanf("%d", &month); - printf(" Annee : "); + printf("Annee : "); scanf("%d", &year); addConf(confChain, id, title, speaker, day, month, year); - saveConf(confChain); + saveConf(confChain -> next); menuConf(confChain, listenerChain); break; } @@ -162,11 +162,11 @@ void menuConf(ptConf confChain, ptListener listenerChain) { { int id; - printf(" Id de la conference a supprimer : "); + printf("Id de la conference a supprimer : "); scanf("%d", &id); removeConf(confChain, id); - saveConf(confChain); + saveConf(confChain -> next); menuConf(confChain, listenerChain); break; } @@ -174,11 +174,11 @@ void menuConf(ptConf confChain, ptListener listenerChain) { case 4: { int day, month, year, time; - printf(" Jour : "); + printf("Jour : "); scanf("%d", &day); - printf(" Mois : "); + printf("Mois : "); scanf("%d", &month); - printf(" Annee : "); + printf("Annee : "); scanf("%d", &year); time = day + 31 * month + 365 * year; @@ -197,7 +197,7 @@ void menuConf(ptConf confChain, ptListener listenerChain) { } } - saveConf(confChain); + saveConf(confChain -> next); menuConf(confChain, listenerChain); } @@ -216,7 +216,7 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { system("cls"); drawMenu(options, 4); goToCoords(0, 12); - printf(" Que voulez-vous faire ? : "); + printf("Que voulez-vous faire ? : "); int choice; scanf("%d", &choice); @@ -224,12 +224,12 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { { case 1: { - ptListener py = listenerChain; + ptListener py = listenerChain -> next; while (py -> next != NULL) { - printf(" Id : %d\n Nom: %s\n Age: %d\n Niveau: %d\n", py -> id, py -> name, py -> age, py -> level); + printf("Id : %d\nNom: %s\nAge: %d\nNiveau: %d\n", py -> id, py -> name, py -> age, py -> level); if (py -> confs -> next != NULL) { - printConfList(py -> confs); + printConfList(py -> confs -> next); } printf("\n"); py = py -> next; @@ -245,17 +245,17 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { char name[20]; id = findListenerId(listenerChain); - printf(" Nom : "); + printf("Nom : "); scanf("%19s", &name); - printf(" Age : "); + printf("Age : "); scanf("%d", &age); - printf(" Niveau : "); + printf("Niveau : "); scanf("%d", &level); if (addListener(listenerChain, id, name, age, level) != -1) { - saveListeners(listenerChain); + saveListeners(listenerChain -> next); } else { - printf(" Le niveau de l'abonne doit etre compris entre 0 et 5.\n\n"); + printf("Le niveau de l'abonne doit etre compris entre 0 et 5.\n\n"); system("pause"); } menuAbo(confChain, listenerChain); @@ -266,11 +266,11 @@ void menuAbo(ptConf confChain, ptListener listenerChain) { { int id; - printf(" Id de l'abonne a supprimer : "); + printf("Id de l'abonne a supprimer : "); scanf("%d", &id); removeListener(listenerChain, id); - saveListeners(listenerChain); + saveListeners(listenerChain -> next); menuAbo(confChain, listenerChain); break; } @@ -292,7 +292,7 @@ void menu(ptConf confChain, ptListener listenerChain) goToCoords(0, 13); tasse(); printf("\n"); - printf(" Que voulez-vous faire ? : "); + printf("Que voulez-vous faire ? : "); int choice; scanf("%d", &choice); @@ -309,17 +309,17 @@ void menu(ptConf confChain, ptListener listenerChain) case 3: { int confId, listenerId, grade; - printf(" Entrez l'ID de la conference : "); + printf("Entrez l'ID de la conference : "); scanf("%d", &confId); - printf(" Entrez l'ID du participant : "); + printf("Entrez l'ID du participant : "); scanf("%d", &listenerId); - printf(" Entrez la note attribuee par le participant : "); + printf("Entrez la note attribuee par le participant : "); scanf("%d", &grade); if (participateToConf(confChain, listenerChain, confId, listenerId, grade) != -1) { saveRelations(confChain); } else { - printf(" La note doit etre comprise entre 0 et 5 et l'abonne ne doit pas avoir deja participe a la conference\n\n"); + printf("La note doit etre comprise entre 0 et 5 et l'abonne ne doit pas avoir deja participe a la conference\n\n"); system("pause"); } @@ -343,7 +343,7 @@ void menu(ptConf confChain, ptListener listenerChain) px = px -> next; } - printf(" La conférence la mieux notee est : %s\n\n", confMax -> title); + printf("La conférence la mieux notee est : %s\n\n", confMax -> title); system("pause"); menu(confChain, listenerChain); diff --git a/singleFile.c b/singleFile.c index d8e8f57..6483b3e 100644 --- a/singleFile.c +++ b/singleFile.c @@ -119,28 +119,17 @@ void removeConf(ptConf confChain, int id) { ptConf px = confChain; - if (px->next->next == NULL) + if (px->next == NULL) + { + return; + } + else if (px->next->next == NULL) { - ptListenerList py = px->listeners; - - while (py->next != NULL) - { - ptConfList pz = py->listener->confs; - - while (pz->next != NULL) - { - if (pz->next->next) - - pz = pz->next; - } - - py = py->next; - } free(px->next); px->next = NULL; } - else if (px->id == id) + else if (px->id == id && px->next->next != NULL) { px->id = px->next->id; strcpy(px->title, px->next->title); @@ -226,8 +215,11 @@ int addListener(ptListener listenerChain, int id, char name[], int age, int leve void removeListener(ptListener listenerChain, int id) { ptListener px = listenerChain; - - if (px->next->next == NULL) + if (px->next == NULL) + { + return; + } + else if (px->id == id && px->next->next == NULL) { free(px->next); px->next = NULL; @@ -276,11 +268,52 @@ void addConfToConfList(ptConfList confList, ptConf conf, int grade) px->next->next = NULL; } +void removeConfFromConfList(ptConf confChain, ptConfList confList, ptConf conf) +{ + + if (confList->next == NULL) + { + return; + } + else if (confList->next->next == NULL && confList->conf == conf) + { + free(confList->next); + confList->next = NULL; + } + else if (confList->conf == conf && confList->next->next != NULL) + { + confList->conf = confList->next->conf; + confList->grade = confList->next->grade; + ptConfList tmp = confList->next->next; + free(confList->next); + confList->next = tmp; + } + else + { + ptConfList px = confList; + + while (px->next != NULL && px->next->conf != conf) + { + if (confChain == conf && px->conf == conf->next) { + px->conf + } + + px = px->next; + } + + if (px->next->conf == conf) { + ptConfList tmp = px->next->next; + free(px->next); + px->next = tmp; + } + } +} + void printConfList(ptConfList confList) { ptConfList px = confList; - printf("Participation aux conferences : "); + printf(" Participation aux conferences : "); while (px->next != NULL) { printf("%s(%d) ", px->conf->title, px->grade); diff --git a/singleFile.exe b/singleFile.exe new file mode 100644 index 0000000000000000000000000000000000000000..4163420b4c858c280addf1757a44a281f9877d64 GIT binary patch literal 144160 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 z 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 WkE!ljsIAV;OpHO|wfRKA2LA(BR`AdO literal 0 HcmV?d00001