marouane24 | d'abord dans la saisie des noms j'ai un problème , essaie ça chez toi et tu vas comprendre , ensuite je sais pas comment on distingue si on est en train de travailler avec le premier fils ou bien le 2eme ... , sachant que chaque fils doit générer une valeur et l'envoyer au père avec le nom du fils
Code :
- #include<unistd.h>
- #include<stdio.h>
- #include<stdlib.h>
- #include<time.h>
- void generate(char nom[20]){
- int ne;
- ne=rand()%100;
- }
- typedef struct Barrage{
- char name[20];
- int ne;
- }Barrage;
- int main(){
- Barrage x[14];
- int i,n,pid[n],fd[2],ne;
- char nom[20],chaine[BUFSIZ];
- printf("Donner le nombre de barrages : " );
- scanf("%d",&n);
- if(pipe(fd)==-1){
- printf("erreur de pipe" );
- exit(0);
- }
- for(i=0;i<n;i++){
- if((pid[i]=fork())>0){
- if(i==0){
- read(fd[0],chaine,BUFSIZ);
- }
- }
- else{
- printf("Donner le nom du barrage N°%d : ",i+1);
- getchar();
- scanf("%s",x[i].name);
- }
- }
|
Message édité par marouane24 le 13-06-2014 à 01:21:39
|