nikpez di nikpez
Ominide 738 punti

Gioco indovina il numero

#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>

#define NUMF 1

int main()
{
int processID,processID2,num=0,indovina;
int p[2];
int p2[2];
//int tempo;
char verifica;
pipe(p);
pipe(p2);

processID2=fork();
if(processID2==0)
{
while(1)
{
usleep(5000000);
indovina=-1;
write(p[1],&indovina,sizeof(indovina));
}
}

else
{
srand(time(NULL));
processID=fork();

if(processID==0 ) //secondo processo
{
while(1)
{
read(p[0],&indovina,sizeof(indovina));
if(indovina==-1)

{
printf("\nNuovo numero generato: ");
num=(rand()%10+1);
printf("%d\n",num);
}

else if(indovina==num)
{
verifica='=';
write(p2[1],&verifica,sizeof(verifica));
return 0;
}
else if(indovina<num)
{
verifica='<';
write(p2[1],&verifica,sizeof(verifica));
}
else
{
verifica='>';
write(p2[1],&verifica,sizeof(verifica));
}

}
}

else //primo processo
{
usleep(5001000);
verifica='>';
while(verifica!='=')
{
printf("\n");

printf("Inserisci il numero: ");
scanf("%d",&indovina);
write(p[1],&indovina,sizeof(indovina));

read(p2[0],&verifica,sizeof(verifica));
printf("%c",verifica);
}
}
}
return 0;
}

Registrati via email