Bonsoir a tous ;-)
j'ai un problème avec une fonction fork();
je dois écrire un programme qui réalise les taches suivantes:

1/ il demande a l'utilisateur d'entrer un entier entre 0-1000 qu'il Stoke dans une variable "n"
2/ il doit crée 11 processus .
3/ chaque processus doit vérifier si la division par un entier qui se trouve dans le tableau t[i]==0
si mon programme n'affiche rien c'est que l'entier "n" n'est pas un multiple des entier qui sont dans le tableau
exemple :
Entrez un entier inférieur à 1000 : 935
Je suis le processus qui vérifie la division par 5 : 935 est multiple de 5 !
Je suis le processus qui vérifie la division par 11 : 935 est multiple de 11 !
Je suis le processus qui vérifie la division par 17 : 935 est multiple de 17 !


mon problème : c'est le même processus qui réalise la tache


voila une partie du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 
 
//déclaration des entier : proc , n , i ,  t[12]={1,2,3,5,7,11,13,17,19,23,29,31}; 
//lire l'entier et le stocker dans une variable n 
// vérification de l'action de l'utilisateur 
//boucle  11 fois {  
// création de processus a partir du processus pére 
// c'est la le problème 
 
					if (proc!=0)
						{
					proc=fork();
						}
			               wait(NULL);
// traitement effectuer par les processus 
        if ((proc==0) && (n%t[i])==0){ 
 
 printf("proc%d mon pid %d : mon papa est %d!\n",proc,pid_proc,pid_procpp); 
 printf("Je suis le processus qui vérifie la division par %d : %d est le multiple de %d!\n",t[i],n,t[i]); 
 
               			 }
//}
//fin

Merci