From 994572a7e397d368d5c5da6e6fc4973f13a3a8c6 Mon Sep 17 00:00:00 2001 From: Lukian Date: Sun, 19 Nov 2023 14:25:34 +0100 Subject: [PATCH] commit --- conf.c | 2 +- main.c | 2 +- main.exe | Bin 44746 -> 45881 bytes screenManager.c | 251 ++++++++++++++++++++++++++++-------------------- 4 files changed, 148 insertions(+), 107 deletions(-) diff --git a/conf.c b/conf.c index a10e903..38eb1e4 100644 --- a/conf.c +++ b/conf.c @@ -51,4 +51,4 @@ void addListener(ptListener listenerChain, char name[], int age, int level) { px -> next = (ptListener) malloc(sizeof(tListener)); px -> next -> next = NULL; px -> next -> prev = px; -} +} \ No newline at end of file diff --git a/main.c b/main.c index a1bf7ad..cc9faff 100644 --- a/main.c +++ b/main.c @@ -31,4 +31,4 @@ int main() menu(); return 0; -} +} \ No newline at end of file diff --git a/main.exe b/main.exe index d0e49558276debcd797174c010a2f94d5f618b13..c928904ed5204c3ec3d7efbb0c703c38b8620bb8 100644 GIT binary patch delta 7290 zcmai(4_s7by2syhm>C8^{un3%;TZT26(%*qG93mEmt1TylXc5=1R0es0u6&&>oVkk z*J+|g-}Of77M1I|imA=ISt+65pSE)G*6rh_wzNy`6m+8-*UP7@xxeQO%XQ1_dM_OKJOpS8UJ)ue&d?#*_Kon^{|!IF_s`R*3H7DNJ&m%a~NX}ZGU;LyyaiF zf4py0-Yh)F;+(^ulBQ3~#@&d+#Ek8kwz3j?31h7qRII|O!+8(?L`sTY9*Ns(oKZMU zTqpljD&)oT6zL&ehift4hwE~F0oRB5bzC>`)UYYi6FeW+&Ac+~tXyy8b2Url=|=9> z+?70##h7zYs(t@lUb;qt({q}1Jqq9DEPh#Ilz*SaM{Dz=OCUoHDwyxS1YV*|k?+pp z4sDX0oW*x*Zb9x+7OJ+oW@H7{U}t!+BORtB1iQr$`{ z_0tuf?)yC;@>f9l`*J#uh?pvOOy{#B78}w7a`&=WS5Z9d+{@x!MTyW(C2jF^-V%}L zI1Ul|f9C#SFjB!|GB7&MEy6v0k%V>2Hc} zqojrAfI!@zeas6RPO}o(#1hnVR{r& zsi#FFBYaBf9n^oNk9yNv=vMlgibfcoI`#Pk>HNh(XS+N+1kvBq`1IY>yTHJgVIlgo z=%rKXbD)oX)W=qj`xiHcC;U0Zw+JC+V{w02TYoAigOFn_m|N*_4$Ag)TpZ!pGVQnb#yJPW?Bkt- zn%Z#RN%-lF_WhBHa8Iws(<^y~Cww+S{eq%W`oc@7=uc4#A=D2h-x6vE@)@RgOA929v&Ao9I|$S+Val;q^0$aQeo zq;yk~BZnf71{zLs`iQ`dYT#E!CRwWne#JSc+c?gxX}p34{N28Ij8^Yhz3+7@)r@*P zYli-L>qkpr^1%VGGxqONw$W^2&hPy8iH(=-QU3VfsL#Dp?Eu`Z*5 zQV848)=MkuO{}rq9^TPJL&}b~mZ8I1 zqV!jCCOtX_!|S?#R*dy+a1KVsJmW)!`!1?!ydKl|EIr+Rgq|+PG(JgBqyK=Xw~iBf zC#Ind=q*yabM=@{F^#!W1g3jO)RW(}mhr>ml%&n2XfrQ81w!WQMM_nN*;I7@Am`_?4*8!*#!TL(Y<%#+)gQ8 z#uLKwGZWrM%os4Li7WC+JF?3hlWG{dGs{q1Rc

lo%??YwT7-nYG5Sx~g)G)n=_+ zZLMLmvJ5$oR@K_AHbZTtbwm}Lon=^BTWu>}e{0p8EW?9VdsVHCt*)qHOKPo#4OO)j z)+c77s4=W5DYsb-3m-7tV_=iYemsPd(yGeJo0~TT=uIsTQNA{NHs6z7I}u&}Tat-= zi1RW|x*vIZ4BlDuF34Wv+-&K!`RTHQMsGgOk6!WnjVM`8w7yX`kJeV4iK2ap>Q~^r zhWaN)*2^1I0o8BDY1-@ee-RrMb92~#o--_LkyLi31I>_=cAWR^ z^ZO5=42tA^!A81)&;65nn)pk8=lB0suz!i{x&Pkrd{3TUKL0!Z>Vjf9_8`|STrj@- zpx-}()DJ|*u87t!18(VUc#!{MVVX9*)$dQ?N9RxA75C}o#8&?5!c@7Sm0wtRk9H60 z!qmDMCcRwW%IBKyk@vQ8n<-!JYvpg67RZH%__rpry#EkikdrE3I>cAztdUo}%FpIJ zAjclzW6iVV!XtcG z){{IbFH^2)gOq{R8~yg4_6sJd>Pwn*Wez*6uy+_rJ^~C7G{MjIySK?@-Kg zeJB4&xkGO4&iMW6g3OJMT{0?KlM@-}ya#EFKf`VL56azV`Puxo z*9tWHaF4;nOa>Dc&o|O`qt2^&FiMuICws>{^n(;$J=w%|O*ZkP8z%618zQ|q#RpU3 zXn#wbjDd}eiO`14H=Dc{=Y&bG*^5=XS z7>}yUm$veyb<0*|BcNG2hT%0ZTF{LB3rMR#ia~aVkJPLJ`BFbjEbFb6wK=6#&tV4( z_)!Ub<&5I(bxGP(EgIo}ty`=8H4MY~*PaA<4n=XtAH|>9 zdWVeSf+JOD2k}I!1jX2Tv(5$562n*4r)KQIZC6Y%42xxbNqHqR;EO8|Sf<^&$&Mx< z-&emT<1qOOR#MZaK@4#>%T2L-?vvN&|C!{$N|Jv`a(tbH(ie>^wg<^@d&W4vZi|^$ zJ2ewq@I@pBvkHHc;RiX03}b8}f9#0_-m@iLy1^ryX;L$v>6{=f;EQp;h(Ctwa=z0! zMXnyp+nj5pGCrvxO{(GdH%yW4=8rX`Y4?nUJN{|IIDVv|5Qg8Qei5J8mvCS+ zI7ObL;r+i%+HTb7>Jf3vST&(2K5jH;JOyH!JRBzVvl+yQ2`vU5JC5gLVD`)W(XFYv z1JHP;ke?WjDy1F`phwASkFGR~;-73yl26F|+pVdNx1f&2CsinO?}2pTb1X!zf*7(! zlCMCj1tOz?E`i(z!m!zjv3l@56G-x>m~Tnm=l(5RFD>COK06^R9R?{_pz1uN-m=*s zi73$;BX39t3d1bbDUb7v<)iDvwTbjRlxRKA^c2V`k$jWKtXrmvdAlbyVl{5(sJi#- z$MNnx8r?N`Yo_EU^R(?hk*ays_5_FN&f$2ev28F~7bKSITKnpCCALe!K9OcOH1rz* z3N=i|-o)*BbP;QJh`bBZ9rQz1S3#}_nlH(LW5|U1%h(N|F2O7k4b4}3Pp&O%Y*s6D zdO?!}4Q+3s=4XR^C=fG9fnfCj$T|t_hs?@=HVGmp2<;pp%`TAT0yzpo2W=sNZnT3u zEolA|#11DRKc9nal9+i2Su9qYt+I+`3(ZGi`(lByA96hjL`?oXp3Bo5`J}{wm!cu% zN+Q@{LS&<=F^nMFK`8o==FpHIY`Q~!-oAxgyoG$qKSK;(gSQIZ)}p^<0+|MKTtN>XhSgi-4zv&c8An9Avf!-6$c7Pla%=YnvzfN`ZW+7na%6WGIZ^UXXUd z`D-9WLI>MHss+s@ko|(@3lKPFD2BR!1Gh&0&CWRGh!8^*<}`g~hq{~$a$fM32_kx1 z!0-R}G)Ez=2ONO}TGni|mD{a&H6OX%lt9xXL|X+iC=dt8RQL(SumhxC@bfANW2O;< zby77GMCV8(B=joCHbFzL7WG03{ug9LFd)2MtY2OIIP(dbD7=1T3u#J>xC^gaLew)M z5=Z?fAnk&qV*cWDX^wT^bWps3xorpO7Xo#HBnnOL0BI34FN4qawz5%aBeQ28dK@0+k9EBf{ zg_sjT=m^cksUX=PAwP2jjittJE32($vB6!@Vkxn$<@Y@wmzWP_C|b+vl8TC|)hzZ- zzUKMVN0tq_39aXKAUA>|OJQsPNf!ca0J#)Q4{3IiA80~;_Vd3!pWx^cl5!TR0m1i& zAje@!+ihSld?4cH`#p$WXg>-s2YG^@B#?F?qHGX-bTA+A&&>SEU1{qJQ9&V!=XlBAI?NVk1}gR1kW52wBYqF{~4Em#3PI6xDzXFRH*8)PbZ3 zR!@WYf?c!V+uVlN_Cz7*U3~POG{<2m_Xm{}Vkd|J)4e5erI!K@3=k75;+XS?NpF&u*;J_nt(*#0CC|fUpOclC)2xNF_22yhz#2|!q zn*0b>T_Dx;(jTb6^=bu)aD*n^e}jk{p9a6roe)AFL%-PJ2!)slQY2_{ZqfXl|M@ow zjuv6kl|yx0uycSwG9u&8fm91!+Xo`9vojzbL30&kmEie0NIhTuLY$*ph#?B!fw4lO zZU+%_un?pZlOU9*WgzsYk0y3t2r5BnP(t(RaS(BFxIng?!p>sfP D9R-j= delta 6520 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 diff --git a/screenManager.c b/screenManager.c index 17151b9..80fb1bd 100644 --- a/screenManager.c +++ b/screenManager.c @@ -13,124 +13,165 @@ void goToCoords(int x, int y) SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coords); } -void drawRectangle(int screenX, int screenY) +void drawHoryLine(char c, int lenght) { - int lenght = screenX * 2 / 3, height = screenY * 1 / 2; + int i = 0; - int i; + while (i != lenght) + { + printf("%c", c); + i++; + } +} - system("cls"); - goToCoords(screenX * 1 / 6, 3); +void drawVertiLine(char c, int lenght) +{ + CONSOLE_SCREEN_BUFFER_INFO info; + GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); + int x = info.dwCursorPosition.X; + int y = info.dwCursorPosition.Y; + + int i = 0; + + while (i != lenght) { + goToCoords(x, y + i); + printf("%c", c); + i ++; + } +} + +void drawRectangle(int x, int y, int lenght, int height) +{ + goToCoords(x, y); printf("%c", 201); - i = lenght - 2; - while (i > 0) - { - printf("%c", 205); - i--; - } + drawHoryLine(205, lenght - 2); printf("%c", 187); - i = height - 2; - while (i > 0) - { - goToCoords(screenX * 1 / 6, 3 + i); - printf("%c", 186); - goToCoords(screenX * 1 / 6 + lenght - 1, 3 + i); - printf("%c", 186); - i--; - } - goToCoords(screenX * 1 / 6, 2 + height); + goToCoords(x, y + 1); + drawVertiLine(186, height - 2); + goToCoords(x + lenght - 1, y + 1); + drawVertiLine(186, height - 2); + goToCoords(x, y + height - 1); printf("%c", 200); - i = lenght - 2; - while (i > 0) - { - printf("%c", 205); - i--; - } + drawHoryLine(205, lenght - 2); printf("%c", 188); } -void drawMenu(int screenX, int screenY) { - goToCoords(screenX * 1/6 + 3, 4); - printf("1/ Gestion des conferences"); - goToCoords(screenX * 1/6 + 3, 5); - printf("2/ Gestion des abonnes"); - goToCoords(screenX * 1/6 + 3, 6); - printf("3/ Participer a une conference"); - goToCoords(screenX * 1/6 + 3, 7); - printf("4/ Voir la meilleure conference"); - goToCoords(screenX * 1/6 + 3, 8); - printf("5/ Voir la participation a une conference"); - goToCoords(screenX * 1/6 + 3, 9); - printf("6/ Quitter"); +void drawMenu(char *options[], int lenght) { + int max = strlen(options[0]); + + for (int i = 0; i < lenght; i++) { + if (strlen(options[i]) > max) { + max = strlen(options[i]); + } + } + + CONSOLE_SCREEN_BUFFER_INFO info; + GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); + int columns = info.srWindow.Right - info.srWindow.Left + 1; + int rows = info.srWindow.Bottom - info.srWindow.Top + 1; + + drawRectangle((columns - max - 4) / 2, 2, max + 4, lenght + 4); + + for (int i = 0; i < lenght; i++) { + goToCoords((columns - max - 4) / 2 + 2, 4 + i); + printf("%s", options[i]); + } + +} + +void menuConf() { + char *options[] = {"1/ Voir la liste des conferences", "2/ Ajouter une conference", "3/ Suprimer une conference", "4/ Retour"}; + system("cls"); + drawMenu(options, 4); + goToCoords(0, 12); + printf("Que voulez-vous faire ? : "); + int choice; + scanf("%d", &choice); + + switch (choice) + { + case 1: + break; + + case 2: + break; + + case 3: + break; + + case 4: + menu(); + break; + + default: + menu(); + break; + } +} + +void menuAbo() { + char *options[] = {"1/ Voir la liste des abonnes", "2/ Ajouter un abonne", "3/ Suprimer un abonne", "4/ Retour"}; + system("cls"); + drawMenu(options, 4); + goToCoords(0, 12); + printf("Que voulez-vous faire ? : "); + int choice; + scanf("%d", &choice); + + switch (choice) + { + case 1: + break; + + case 2: + break; + + case 3: + break; + + case 4: + menu(); + break; + + default: + menu(); + break; + } } void menu() -{ - CONSOLE_SCREEN_BUFFER_INFO info; - int columns, rows; - - GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); - - columns = info.srWindow.Right - info.srWindow.Left + 1; - rows = info.srWindow.Bottom - info.srWindow.Top + 1; - - drawRectangle(columns, rows); - drawMenu(columns, rows); - goToCoords(0, rows / 2 + 5); - printf("Que voulez vous choisir ? "); +{ + 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, 6); + goToCoords(0, 14); + printf("Que voulez-vous faire ? : "); int choice; scanf("%d", &choice); + + switch (choice) + { + case 1: + menuConf(); + break; + + case 2: + menuAbo(); + break; + + case 3: + break; + + case 4: + break; + + case 5: + break; + + case 6: + break; -} - -/* -int i=0; - - ////////////////////////// Menu 1 //////////////////////////////// - - printf("\n 1/ Gestion des conferences\n 2/ Gestion des abonnes\n 3/ Participer a une conference"); - printf("\n 4/ Voir la meilleure conference\n 5/ Voir la participation a une conference"); - printf("\n 6/ Quitter\n"); - - - scanf("%d",&i); - - ////////////////////////////////////////////////////////////////// - - switch (i){ - - //////////////////////// Menu conf ///////////////////////// - - case 1:{ - printf("\n 1/ Voir la liste des conferences\n 2/ Ajouter une conference \n 3/ Suprimer une conference\n 4/ Retour\n"); - break; - } - - /////////////////////// Menu abonne ///////////////////////// - - case 2: { - printf("\n 1/ Voir la liste des abonnes\n 2/ Ajouter un abonne \n 3/ Suprimer un abonne\n 4/ Retour\n"); - break; - } - - case 3: { - printf("\n Nom de l'abonne : \n Nom de la conference : \n Note de la conference : "); - break; - } - - case 4: { - printf("\n Nom : \n Note : "); - break; - } - - - case 5: { - printf("\n Entrer le nom de la conference : "); - break; - } - - case 6: { - break; - } + default: + break; } -*/ \ No newline at end of file +} \ No newline at end of file