Bonjour.
Le but de mon exercice est de créer un père, 3 fils et 9 petits fils et que l'utilisateur demande différentes hauteurs. Pour la hauteur 0, il n'y a que le père. Pour la hauteur 1, il y a 4 processus pères et 3 fils. Pour la hauteur 2, il y aura les 13 processus. On choisira avec la fonction scanf.
Voici mon programme, mais je n'ai fait qu'un père et 3 fils, chaque fils ayant lui-même 2 fils.
Mon problème est que je n'arrive pas à utiliser la fonction scanf dans mon programme.
Merci de m'aider surtout que je suis débutante en programmation C sous Linux.
#include <stdio.h>
#include <unistd.h>
int main(void)
{
if (fork() != 0)
{
if (fork() != 0)
{
printf("pere= %d \n", getpid());
if (fork() == 0)
{
printf("fils3=%d pere= %d\n", getpid(), getppid());
if (fork() != 0)
{
if (fork() == 0)
printf("P6= %d fils3= %d \n", getpid(), getppid());
}
else
printf("P7= %d fils3= %d \n", getpid(), getppid());
}
}
else
{
printf("fils2= %d pere= %d\n", getpid(), getppid());
if (fork() != 0)
{
if (fork() == 0)
printf("P4= %d fils2= %d \n", getpid(), getppid());
}
else
printf("P3= %d fils2= %d \n", getpid(), getppid());
}
}
else
{
printf("fils1= %d pere = %d \n", getpid(), getppid());
if (fork() != 0)
{
if (fork() == 0)
printf("P8= %d fils1= %d \n", getpid(), getppid());
}
else
printf("P9= %d fils1= %d \n", getpid(), getppid());
}
while (wait(0) != -1);
return 0;
}