From 36d18e7da896f229ec47643588852b72fc85c532 Mon Sep 17 00:00:00 2001 From: Lola CHALMIN Date: Wed, 14 Dec 2022 17:20:41 +0100 Subject: [PATCH 1/3] news --- part1.c | 62 ++++++++++++++++++++++++++++++++++++++++++------------- test | Bin 17360 -> 17312 bytes tpart1.c | 1 - 3 files changed, 48 insertions(+), 15 deletions(-) diff --git a/part1.c b/part1.c index 8cb66e8..50330c1 100644 --- a/part1.c +++ b/part1.c @@ -47,33 +47,30 @@ ListDept Insert(ListDept list, MaillonDept *m)//insert globalement /*étapes pour le chargement: 1) pour chaque ville : malloc VilleIUT ->initialisation à NULL de la liste et fscanf la ville 2) récup le nb pour faire une boucle -3) boucle dans laquelle on crée nb maillons en insertion du département dans la liste en triant +3) boucle dans laquelle on crée nb maillons en inserant département dans la liste en triant et on recommence tant que fichier non vide*/ int Chargement(VilleIUT **tV, int tmax, char *nameFile) { FILE *f; - int i = 0; + int i = 0, cpt; f = fopen(nameFile, "r"); if (f == NULL){printf("pb ouv file"); return -1;} while (!feof(f)) { - int cpt; VilleIUT *v; v = (VilleIUT *)malloc(sizeof(VilleIUT)); if (v == NULL){printf("pb malloc");exit;} fscanf(f, "%s %d", v->ville, &cpt); - printf("**%d**\n", cpt); + for (cpt; cpt > 0; cpt--) { - printf("bleu\n"); MaillonDept *m; - m = (MaillonDept*)malloc(sizeof(MaillonDept)); + m = (MaillonDept*)malloc(sizeof(MaillonDept));//création du maillon if (m == NULL){printf("pb malloc"); exit;} - lireM(f, m); - AfficheDpmt(m); - v->ldept = Insert(v->ldept, m); + lireM(f, m);//lire le maillon avec la fonction plus haut + v->ldept = Insert(v->ldept, m);//insert le maillon à sa bonne place } tV[i] = v; i++; @@ -84,25 +81,62 @@ int Chargement(VilleIUT **tV, int tmax, char *nameFile) } -void AfficheDpmt ( MaillonDept *dpt ){ +void AfficheDpmt ( MaillonDept *dpt )//Affiche un département d'une liste +{ if ( dpt == NULL) return; printf("%s %d %s \n", dpt->departement, dpt->nbP, dpt->respAd); - AfficheDpmt(dpt->suiv);} + AfficheDpmt(dpt->suiv); +} -void afficheIUT (VilleIUT *iut){ +void afficheIUT (VilleIUT *iut)//Affiche un iut avec ses départements +{ printf ("%s \n", iut->ville); AfficheDpmt(iut->ldept); } -void Affichetableau(VilleIUT ** TabIUT, int n ){ +void Affichetableau(VilleIUT ** TabIUT, int n )//Affiche le tableau des iuts avec lerus départements +{ int i; - for ( i = 0 ; i < n ; i++ ) afficheIUT(TabIUT[i]); } + + + + + + +ListDept MaJnbP(VilleIUT **tV, char *ville, char dpt, int newnbP) +{ + +} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test b/test index a96f7a14697126be8c7eeb4d98e9c71b34a5e538..fa5cfbc4fb4aeaa40b8f8a90cd543f635f1369b0 100755 GIT binary patch delta 2203 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 diff --git a/tpart1.c b/tpart1.c index bda1319..3503e29 100644 --- a/tpart1.c +++ b/tpart1.c @@ -11,6 +11,5 @@ int main(void) VilleIUT *tV[200]; int nb; nb = Chargement(tV, 200, "part1.don"); - Affichetableau(tV, nb); return 0; } From 9b97b9c087b6ba6618c9637f6e0bccfa01688f33 Mon Sep 17 00:00:00 2001 From: Lola CHALMIN Date: Wed, 14 Dec 2022 17:24:30 +0100 Subject: [PATCH 2/3] finito pour ce soir --- part1.c | 7 ++++++- part1.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/part1.c b/part1.c index 50330c1..7dcf06b 100644 --- a/part1.c +++ b/part1.c @@ -118,7 +118,12 @@ ListDept MaJnbP(VilleIUT **tV, char *ville, char dpt, int newnbP) - +ListDept recherche (ListDept l, char *nom ) +{ + if ( l == NULL ){ return l;} + if ( strcmp ( l->departement, nom ) == 0) return l; + return recherche (l->suiv, nom ); +} diff --git a/part1.h b/part1.h index dd1e45e..9070bdb 100644 --- a/part1.h +++ b/part1.h @@ -26,3 +26,4 @@ int Chargement(VilleIUT **tV, int tmax, char *nameFile); void AfficheDpmt ( MaillonDept *dpt ); void afficheIUT (VilleIUT *iut); void Affichetableau(VilleIUT ** TabIUT, int n ); +Liste recherche (Liste l, char *nom ); From 15cdfe77254ebfcc736bf284672f46052b4ab12f Mon Sep 17 00:00:00 2001 From: Lola CHALMIN Date: Thu, 15 Dec 2022 11:37:36 +0100 Subject: [PATCH 3/3] =?UTF-8?q?=C3=A7a=20marche=20suuiii?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- part1.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- part1.h | 4 +++- test | Bin 17312 -> 17560 bytes tpart1.c | 11 +++++++++- 4 files changed, 74 insertions(+), 5 deletions(-) diff --git a/part1.c b/part1.c index 7dcf06b..5fcf1b2 100644 --- a/part1.c +++ b/part1.c @@ -109,16 +109,64 @@ void Affichetableau(VilleIUT ** TabIUT, int n )//Affiche le tableau des iuts ave - -ListDept MaJnbP(VilleIUT **tV, char *ville, char dpt, int newnbP) +/*étapes de mise à jour du nombre de places: +demande et recherche dans quelle ville chercher le nombre de places d'un département +chercher ville +chercher dpt +changer nbP +return tV le tableau de VilleIUT mis à jour +*/ +VilleIUT** MaJnbP(VilleIUT **tV, int nb) { + char ville[31], dpt[31], reponse[31]; + int newnbP; + int v; + ListDept elt; + + printf("De quels département et ville souhaitez vous modifier le nombre de place ?\n"); + printf("Ville : \t"); + scanf("%s%*c", ville); + + v = searchVille(tV, ville, nb); + + while(v == -1)//tant que le nom de la ville n'est pas bon + { + printf("Ville non trouvée ...Rentrez une autre ville ou tapez 0 pour quitter\n"); + scanf("%s", reponse); + if (strcmp(reponse, 0)==0) + { + exit; + } + v = searchVille(tV, ville, nb); + } + + printf("Département : \t"); + fgets(dpt, 31, stdin); + dpt[strlen(dpt)-1] = '\0'; + + elt = recherche(tV[v]->ldept, dpt); + while(elt == NULL)//tant que le nom du département n'est pas bon + { + printf("Département non trouvé ...Rentrez un autre département ou tapez 0 pour quitter\n"); + scanf("%s", reponse); + if (strcmp(reponse, 0)==0) + { + exit; + } + elt = recherche(tV[v]->ldept, dpt); + } + + printf("Nouveau nombre de places disponibles : \t"); + scanf("%d", &newnbP); + elt->nbP = newnbP; + return tV; } -ListDept recherche (ListDept l, char *nom ) +ListDept recherche (ListDept l, char *nom )//recherche du nom de département dans la liste { if ( l == NULL ){ return l;} if ( strcmp ( l->departement, nom ) == 0) return l; @@ -126,6 +174,16 @@ ListDept recherche (ListDept l, char *nom ) } +int searchVille(VilleIUT ** tV, char *ville, int nbV)//recherche du nom de la ville dans le tableau +{ + int i =0; + for(i; i < nbV; i++) + { + if (strcmp(ville, tV[i]->ville)==0) + return i; + } + return -1;//sinon c'est que la recherche n'a pas abouti +} diff --git a/part1.h b/part1.h index 9070bdb..9daf9a7 100644 --- a/part1.h +++ b/part1.h @@ -26,4 +26,6 @@ int Chargement(VilleIUT **tV, int tmax, char *nameFile); void AfficheDpmt ( MaillonDept *dpt ); void afficheIUT (VilleIUT *iut); void Affichetableau(VilleIUT ** TabIUT, int n ); -Liste recherche (Liste l, char *nom ); +ListDept recherche (ListDept l, char *nom ); +VilleIUT** MaJnbP(VilleIUT **tV, int nb); +int searchVille(VilleIUT ** tV, char *ville, int nbV); diff --git a/test b/test index fa5cfbc4fb4aeaa40b8f8a90cd543f635f1369b0..b4c7d02b9ecfd9cddf7e25d46a03adc27170a61d 100755 GIT binary patch delta 4128 zcmZ`+4Qx}#9lvwF>;NHl;yHmro5Q5|_mx~Zw6t{_ngVNC|>y3jGkR*+0JHZuxwI=TfK_V&Mb_pE@r zvwXk1|HtqDzmIqC-qDxw;Rx=}F~l>GQXC9WPUXQRZ;{vR`hz!~Ouw#W((77cz?Sp_ z$*g-InXJVY-C+&u9w%M+W%B_uS3ZUVOpFG|V$D0*uAbH-S5NKTsG0nInN|Bn%IEgE zequ2_;_1kWV}6=knc-N9DW8{gkD-X-ufpF+1zf>6<|+Q%$zn)3lS* zw0yl4tvbvU=;_Ih)E96nxtY2Kr<0x(20GsS`?^E z29S*-7KHB2&a0uC%I^b#*q5?_Ld9gjDE6kj33{>TY(OVR=giIvQ}Xj1!C|rDP?}Fx z>7S?xa#O7w-KH?AhT+NyP@$l;N$jrNM4MvdW?-h+TX_*Wu_8!5)&|u`$^~*nU%7H- z2DKPHNrT18|0~O4uPZM0i3Na@Vr2MCo{D5!^IcfbrY&W|5b&Za2iyFy(%$PvRLTuXjqXuz9^F>9-C-%KTo*gO)>GKSpH zW6r;tlI4?hzHj{<()ef*P4X`wgJ3ZT7GuE*6ZZS4uD2;B_SIiw11Z%oYQ|Rt`rGc0 z8Ys^}#uEjeDC4<4Lx~H=LadbJWVdT3zajgxSIuxTIf%Q+C)t)6S&6<#QjD!3x(&q0 zhr1!q$om1PVFF%1QOD(?crzX|6Z}`Orm;Jr9EaN4tyBcEgkf-U90WL^4K7 z(`%f+1W5W^gM0^!#%3}4LCSpNKG<}}@JLO{U3e8BqY;U2T2mFurF&QVP{Zk?-W|kzwLK-1f(63Hy}s>VV9@9 zT@pHd!8W%iAng%$`GTFo4qvNhn@8#pK;`xA*xDfpt&-qxcehA_9c@xvRth>)*jc!w zg-#upd3|0X(BTX2I{&sLSS*$e5Trxe6B2@6NpJ_D&ExrkLcr~ZaLWY0FW3ROc>)2c z0|-&g^aN=TRvr;gi!&_@MBzam8Kf^5`u1RqcpaoGxr2|76K2ZO>Gyd(Tic~hK^bf- zqBCc+wEDc@isvS+qIVGbDm{ExmZN~1$7NXyk8>N~AoT0wvMgW}LLWlI0g5|-TL5=X z$Z{C)F5pqXqJPQqS-`!3QNSTUc#ES4fCAvPufZSC`fu<0`3#sH53im(Y{fV5;Y zKzPpvgm-7+xiiT{Awx5Gm;6<*qzvAHNMx3I!5k5iRxbq9$H_$iX@dL{U|@oz=g-%?GeMT*&kubDWBCGdN6w7Q{hI1osY%!I z%rvdSyBFjGFqVy=PUto3s9Mqg4D_R*cR!+kCZRtKdhI<~-u#GuqoRkmIJ$=64&=B; zp3AS&6~H`f23tI2{?7BdT=fp5-g$sYDPe*wd78^PB;WEZj*>1*9==JAS?o@_fV8Od z2sZ|$m^e%5C6xKh@6+4Gqdb{bc8I6Fxv9%dL2foLc^Z=A{BsT(V1Zz)Vh* zEW|I8OC@347ehdgqr+=Ppjx|+OKX3E_FmU>MN zQg7C(eKWaHX0mxX|DX68__;d3<$gZiA9DFil$kinwV{58%ET~-d#ImTOS$@WkY`St zY1QlJ+&+g#*vu8jxqOw83FzyZmJhf*naR^pIg_JdWw4iNU3>?O=wQPRuHgHlgv87b`H1bZD zkT)yl>N=#BHmL*tLnkZDxPJNF$H8(fbS2w%X)igJwdiPrI)&|sE+gRV+A#L|` z!kY)Q?LM#6=!WASbxLj^gxB2AgOw5{Tb_!-_1al!$AhG+(yEWby_6OeZ<2E$9ibmP zP*f}+c(qj*=h8T-SY57Hj|vs9lCITOgL^^5o{aoVlAC_giz^IWLu-%fbJ|}QAJg`5l-_JKYONf4Lu6N|=)dNGt0n+8L>V+^zoXZz!iKeN1V~DYB<} G;r{@zRi5bp delta 2819 zcmZWr4NO!=9-n#3eu}WWu z$j)#6zu*63X5P$uOeE-u!}N&De#uJI7U4iV^+)e}!_s2pW{dIYS3b)<25#MB06Xh2KPHfq`fdgr?hH8Oas64;Rj6eZJ#-JkT+@SZJHyE>0~T$o}dGaWxEiafq)PEN{R#5;20!?SKR#l_4Mnl_sD zVnC)2g7zR?4?FFvDg#VQp#SLpJ7kXyr<}lN#&iDVF3Z_I!}EQ~LXW|F_SLi>X6-Gs z52_2g&9COFv&dAyi2_G_KUzHa%z~m!;cS(w-{LerSj{GR6*(-H!D1O+ESmLCGHtv) zBPX|B<_oDVS{QF%5Dp1-2ZnJ; z>Wn@<*Xzr7A4G3Lq8(e3AwRA$x@~jf%V_)N#1GN7XkwvVPF8r3et658yYlFDQ)b1F zSm=*;bpy)+|HyZf)SIsD#+22RmX3LHz~u48V_mxk0=}MSo+fmeu5J)><5MQHHx%VO z;=wsZxsLb>;wy+lHx(rZ-vd_>y@AaE6Q&X-$Xo*_%-4z z;;J7o9%!I24zYONFpkKpeqoD93- zB${VEBsDHINKfP%(UIxwb#?~z%EdaDRsA*OKSN#J#%z2%8~;A)0bJaELgI@G3}ziJ zqr=PS5XRMHC!njP%%K#i1^m5@yYUOetS&v6jW5Nx%c$2Z)_1G28efn4ZPc4d{o({0 zvk4wS2e!>kixcn#5XKFoF5iZrccYo@d?&in)QI=jW_;|Q(&9<+w$t8v=%Th>pgy-$ zSOn$1$LIu%_}ugpIOz*V|0Wy?1&S{aaSD5oy$7*r{1m>@Sks8V z6;>R@B3eO?h0I^dCxs%9rtXDZ)lQmF``1`sd|G7QR=|DKV}`?zn7a9|LS1R+s(Q+C z_)o$AUGR8%)%FeYY(AY4K?t~|R@B4Ibxx^BVjt~pvJ$VOO>zNR2x_7!js`YhvcwzdQE}{&CD=CB^@@lY2$>ZjoKR z1sL$<9@U#5*T8Mh@P(02SU-CPY*`j~`z*6d_=*efOvxAYkxIRXqyS5~C zsMbTxZCe|6YI&e~hEiLP zxF8yq!F+??JSNyN2!v~F+9lF34MSnSS-Wb3uq#{u=feZ06JnWgCG3Qbh|QeF2gO<% zc13Ek|3qrL8`Z<bFe^Rzp+j-DsHN zeVgCtH+M#ONGAjuYhZPwm73I*z7)!ZiAERRu~Us<%Y-ville); + l = recherche(v->ldept, "Informatique"); + printf("%s", l->departement);*/ + MaJnbP(tV, nb); + Affichetableau(tV, nb); + return 0; }