From 202a662cab5d8184a08e95dc78b35ec91d3e8216 Mon Sep 17 00:00:00 2001 From: thibault62 Date: Thu, 15 Dec 2016 10:51:31 +0100 Subject: [PATCH] maybe --- launcher.c | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 85 insertions(+), 3 deletions(-) diff --git a/launcher.c b/launcher.c index aeea684..6cb754d 100644 --- a/launcher.c +++ b/launcher.c @@ -2,17 +2,100 @@ #include #include #include + #include + + int Random (int _imin, int _imax) + {return (_imin + (rand () % (_imax-_imin+1)));} + int main(int argv, char *argc){ - int pid; + int pid; + /*permet de stocker le nombre d utilisation dans un fichier txt*/ + int car; + FILE* nbr_utilisation = NULL; + FILE* nbr_utilisation2 = NULL; + FILE* nbr_1 = NULL; + FILE* nbr_12 = NULL; + FILE* nbr_2 = NULL; + FILE* nbr_22 = NULL; + FILE* nbr_3 = NULL; + FILE* nbr_32 = NULL; + FILE* alea = NULL; + system("touch nbr_utilisation2"); + nbr_utilisation=fopen("nbr_utilisation","r"); + nbr_utilisation2=fopen("nbr_utilisation2","w"); + car=fgetc(nbr_utilisation); + car=car+1; + fprintf(nbr_utilisation2,"%c",car); + fclose(nbr_utilisation2); + fclose(nbr_utilisation); + system("mv nbr_utilisation2 nbr_utilisation"); + + + int nbrAlea;//nombre aleatoire + int nbrAlea2;//nombre aleatoire pid=fork(); + srand (time (NULL));//créer nbr alea entre 1 et 3 + nbrAlea = Random (1,2);//creation d un nbr alea entre 1 et 2 car tout les autres types ne sont pas fais + nbrAlea2= Random (1,5); + switch(pid) {case -1: printf("error"); break; case 0: - execl("/home/pierre/Documents/doc/statique/lecture2", "lecture2", NULL); + switch(nbrAlea) + { + case 1: + /*permet de stocker le nombre d utilisation dans un fichier txt, il exprime le nombre d utilisation de la fonction statique*/ + + system("touch nbr_12"); + nbr_1=fopen("nbr_1","r"); + nbr_12=fopen("nbr_12","w"); + system("rm alea"); + alea=fopen("alea","w"); + car=fgetc(nbr_1); + car=car+1; + fprintf(nbr_12,"%c",car); + fprintf(alea,"%d",nbrAlea2); + fclose(nbr_12); + fclose(nbr_1); + fclose(alea); + system("mv nbr_12 nbr_1"); + execl("/home/pierre/Documents/doc/statique/lecture2", "lecture2", NULL); + break; + + case 2: + /*permet de stocker le nombre d utilisation dans un fichier txt, il exprime le nombre d utilisation de la fonction dynamique*/ + + system("touch nbr_22"); + nbr_2=fopen("nbr_2","r"); + nbr_22=fopen("nbr_22","w"); + car=fgetc(nbr_2); + car=car+1; + fprintf(nbr_22,"%c",car); + fclose(nbr_22); + fclose(nbr_2); + system("mv nbr_22 nbr_2"); + execl("/home/pierre/Documents/doc/dynamique/dynamique", "dynamique", NULL); + break; + + case 3: + /*permet de stocker le nombre d utilisation dans un fichier txt, il exprime le nombre d utilisation de la fonction interactif*/ + + system("touch nbr_23"); + nbr_3=fopen("nbr_3","r"); + nbr_32=fopen("nbr_32","w"); + car=fgetc(nbr_3); + car=car+1; + fprintf(nbr_32,"%c",car); + fclose(nbr_32); + fclose(nbr_3); + system("mv nbr_32 nbr_3"); + execl("/home/pierre/Documents/doc/interactif/lecture2", "lecture2", NULL); + break; + } break; default: wait(NULL); @@ -20,4 +103,3 @@ int main(int argv, char *argc){ } return 0; } -