From 1c6d76ffac61e7cb66c7bf894f34862edc18979c Mon Sep 17 00:00:00 2001 From: "antoine.perederii" Date: Fri, 2 Dec 2022 17:23:36 +0100 Subject: [PATCH] ajout du tp de BDD et d'algo --- Algo/tp/tp10/resultat.bin | Bin 130 -> 130 bytes Algo/tp/tp11/exe | Bin 17424 -> 17304 bytes Algo/tp/tp12/exe | Bin 0 -> 17688 bytes Algo/tp/tp12/matieres.bin | Bin 0 -> 274 bytes Algo/tp/tp12/matieres.txt | 6 ++ Algo/tp/tp12/testtp12.c | 21 +++++ Algo/tp/tp12/tp12.c | 146 ++++++++++++++++++++++++++++++ Algo/tp/tp12/tp12.h | 20 ++++ Algo/tp/tp8/Final/fichierMots.txt | 1 + Algo/tp/tp8/Final/tp8.c | 2 +- Algo/tp/tp8/exe | Bin 17336 -> 0 bytes Algo/tp/tp8/tp8.c | 3 +- Algo/tp/tp8/tp8.h | 2 +- Algo/tp/tp9/matieres.txt | 1 + BDD/tp/tp8/tp8.sql | 4 +- 15 files changed, 200 insertions(+), 6 deletions(-) create mode 100755 Algo/tp/tp12/exe create mode 100644 Algo/tp/tp12/matieres.bin create mode 100644 Algo/tp/tp12/matieres.txt create mode 100644 Algo/tp/tp12/testtp12.c create mode 100644 Algo/tp/tp12/tp12.c create mode 100644 Algo/tp/tp12/tp12.h delete mode 100755 Algo/tp/tp8/exe diff --git a/Algo/tp/tp10/resultat.bin b/Algo/tp/tp10/resultat.bin index 16e858c864e8e0f6deade18c10a42f5d6ed3196a..5f90cc5f9f0a35d00e8d8d8d33e55c4e7644d9a5 100755 GIT binary patch literal 130 zcmXrv@=Yu%$;@M5NLk3p_OzY>0upo5^9>m;F)(;II_4f;nUk4{DxaHJl2HtjuW)qF k%t=ZuDnXS`N-R!I0m*kbI_Bl2GN8-n7o{iWf#ek&0RoRAssI20 literal 130 zcmXrv@=Yu%$;@M5NIAI7=Tbcb1SIC9=NmFyV_@)bbj&@xGAAH4U*YJU lnUj=SRDvp>lvtda0+R1=bj-_3Wk8qDFG^3$1Ia5m0ss{*CYk^M diff --git a/Algo/tp/tp11/exe b/Algo/tp/tp11/exe index deb18f3e49fe7d7ca475a25d11258111b136beb9..29ae1430817cfd47692d25ed5af4d02025967e9e 100755 GIT binary patch delta 1656 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 literal 0 HcmV?d00001 diff --git a/Algo/tp/tp12/matieres.bin b/Algo/tp/tp12/matieres.bin new file mode 100644 index 0000000000000000000000000000000000000000..242914ff1c55231e807460669a22152fdb683eae GIT binary patch literal 274 zcmZwCK@Ng25CzbQapl$v%n=lb#*KHWbOKGF1zHy#i7U9}B;3S51cM8kc9LmdXWBeJ z-LBcCC=RBK?o32`EM_*|G_NQuiOb+i>5>Z`M@0Ac(KJ=~wMYk->Q=a$#=!;a`lm3& z+|Oz=T>IAjZy{hGCW_sxrfe~T_tPj*yD!7SwkFlOv%|uBHJwI8ZM{h%wPC1?K7O@J N>LTp=rKKo>+7I0{ODg~X literal 0 HcmV?d00001 diff --git a/Algo/tp/tp12/matieres.txt b/Algo/tp/tp12/matieres.txt new file mode 100644 index 0000000..9b2795b --- /dev/null +++ b/Algo/tp/tp12/matieres.txt @@ -0,0 +1,6 @@ +acsi1 4 analyse et conception +algo1 4 algorithme périodique 1 +algo2 4 algorithme périodique 2 +based 4 base de données +maths 2 mathématiques +organ 2 organisation diff --git a/Algo/tp/tp12/testtp12.c b/Algo/tp/tp12/testtp12.c new file mode 100644 index 0000000..7778f0c --- /dev/null +++ b/Algo/tp/tp12/testtp12.c @@ -0,0 +1,21 @@ +#include "tp12.h" + +void testCharge(void) +{ + Mat *tab[50]; + int nb; + char nomFich[20]; + printf("Donnez le nom du fichier :\n"); + scanf("%s", nomFich); + nb = chargeFmatieres(nomFich, tab, 50); + if(nb < 0) + return; + afficheTmat(tab, nb); +} + +int main(void) +{ + //testCharge(); + global(); + return 0; +} \ No newline at end of file diff --git a/Algo/tp/tp12/tp12.c b/Algo/tp/tp12/tp12.c new file mode 100644 index 0000000..12756c5 --- /dev/null +++ b/Algo/tp/tp12/tp12.c @@ -0,0 +1,146 @@ +#include "tp12.h" + +int chargeFmatieres(char *nomFich, Mat **tmat, int tmax) +{ + int i = 0; + Mat m; + FILE *flot; + printf("%d\n", i); + flot = fopen(nomFich, "r"); + if(flot == NULL) + { + printf("Pb d'ouverture du fichier %s.\n", nomFich); + return -1; + } + m = lireMat(flot); + while(!feof(flot)) + { + if(i == tmax) + { + printf("tbl plein !!!\n"); + fclose(flot); + return -2; + } + tmat[i] = (Mat *)malloc(sizeof(Mat)); + if(tmat[i] == NULL) + { + printf("Pb du tableau !\n"); + fclose(flot); + return -3; + } + *tmat[i] = m; + i = i +1; + m = lireMat(flot); + } + fclose(flot); + return i; +} + +Mat lireMat(FILE *flot) +{ + Mat m; + fscanf(flot, "%s%d", m.code, &m.coef); + fgets(m.design, 30, flot); + m.design[strlen(m.design)-1] = '\0'; + return m; +} + +void afficheMat(Mat m) +{ + printf("%s\t%d\t%s\n", m.code, m.coef, m.design); +} + +void afficheTmat(Mat **tMat, int nbmat) +{ + int i; + for(i = 0; i < nbmat; i++) + afficheMat(*tMat[i]); + printf("\n"); +} + +void libereEspaceA(Mat *tmat[], int nb) +{ + int i; + for(i = 0; i < nb; i++) + free(tmat[i]); +} + +void sauvTbin(Mat *tab[], int nb) +{ + int i; + FILE *flot; + flot = fopen("matieres.bin", "wb"); + if(flot == NULL) + { + printf("Pb d'ouverture du fichier matieres.bin"); + return; + } + fprintf(flot, "%d\n", &nb); + for(i = 0; i < nb; i++) + fwrite(tab[i], sizeof(Mat), 1, flot); + fclose(flot); +} + +int rechdich(char *code, Mat **tmat, int nbmat, int *trouve) +{ + int inf, sup, m; + inf = 0; + sup = nbmat -1; + while(inf <= sup) + { + m = (inf + sup)/2; + if(strcmp(code, tmat[m]->code) == 0) + { + *trouve = 1; + return m; + } + if(strcmp(code, tmat[m]->code) < 0) + sup = m - 1; + else inf = m+ 1; + } + *trouve = 0; + return inf; +} + +int supprime(Mat **tMat, int nbmat) +{ + char code[6], rep; + int pas, trouve, i; + printf("Donnez le code de la matière à supprimer :\n"); + scanf("%s%*c", code); + pas = rechdich(code, tMat, nbmat, &trouve); + if(trouve == 0) + printf("Aucune matière n'as été trouvé\n"); + else{ + afficheMat(*tMat[pas]); + printf("Vouez vous vraiment supprimer ? :\n"); + scanf("%c", &rep); + if(rep == 'o') + { + free(tMat[pas]); + for(i = pas; i < nbmat-1; i++) + tMat[i] = tMat[i + 1]; + nbmat = nbmat - 1; + } + } + return nbmat; +} + +void global(void) +{ + Mat *tab[50]; + int nb; + char nomFich[20]; + printf("Donnez le nom du fichier :\n"); + scanf("%s", nomFich); + nb = chargeFmatieres(nomFich, tab, 50); + if(nb < 0) + return; + afficheTmat(tab, nb); + nb = supprime(tab, nb); + afficheTmat(tab, nb); + nb = supprime(tab, nb); + afficheTmat(tab, nb); + sauvTbin(tab, nb); + libereEspaceA(tab, nb); +} \ No newline at end of file diff --git a/Algo/tp/tp12/tp12.h b/Algo/tp/tp12/tp12.h new file mode 100644 index 0000000..d692dd3 --- /dev/null +++ b/Algo/tp/tp12/tp12.h @@ -0,0 +1,20 @@ +#include +#include +#include + +typedef struct { + char code[6]; + int coef; + char design[32]; +} Mat; + +int chargeFmatieres(char *nomFich, Mat **tmat, int tmax); +void global(void); +Mat lireMat(FILE *flot); +void afficheMat(Mat m); +void afficheTmat(Mat **tMat, int nbmat); +void libereEspaceA(Mat *tmat[], int nb); +void sauvTbin(Mat *tab[], int nb); +int rechdich(char *code, Mat **tmat, int nbmat, int *trouve); +int supprime(Mat **tMat, int nbmat); +void testCharge(void); \ No newline at end of file diff --git a/Algo/tp/tp8/Final/fichierMots.txt b/Algo/tp/tp8/Final/fichierMots.txt index e9f83bf..0dd6a0f 100755 --- a/Algo/tp/tp8/Final/fichierMots.txt +++ b/Algo/tp/tp8/Final/fichierMots.txt @@ -1,3 +1,4 @@ +bai baie bail bailler diff --git a/Algo/tp/tp8/Final/tp8.c b/Algo/tp/tp8/Final/tp8.c index 77ce0d7..1315939 100755 --- a/Algo/tp/tp8/Final/tp8.c +++ b/Algo/tp/tp8/Final/tp8.c @@ -250,7 +250,7 @@ void chercher(char tab[][27], int nb, char mot[]) if (tab[i][j] == mot[k] && num[k] == 0) { num[k] = 1; - pass=1; + pass = 1; break; } } diff --git a/Algo/tp/tp8/exe b/Algo/tp/tp8/exe deleted file mode 100755 index 455e92c3824de7ee41da2e62e2b6bfae93aad23a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17336 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 x575N{h5pC%200 AND AMOUR.force = 'un peu'; */ /* Question 12 */ -/* SELECT DRAGON.nom FROM DRAGON JOIN AMOUR ON DRAGON.numD = AMOUR.numDragon1 */ +/* SELECT aimant.nom, aime.nom FROM DRAGON aimant JOIN AMOUR ON aimant.numD = AMOUR.numDragon1 JOIN DRAGON AS aime ON AMOUR.numDragon2 = aime.numD; */ /* Question 13 */ /* SELECT DISTINCT DRAGON.nom FROM DRAGON JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Oeuf' AND DRAGON.numD NOT IN (SELECT DRAGON.numD FROM DRAGON JOIN REPAS ON DRAGON.numD = REPAS.numD JOIN NOURRITURE ON REPAS.numN = NOURRITURE.numN WHERE NOURRITURE.nom = 'Orange'); */ /* Question 14 */ -/* +/* */