C Simple child and parent back and forth
'm creating a small guess game between a child and a parent:
The child takes in the input from user and makes that the number to guess, the parent simply goes into a loop trying to figure out which is the right number.
I can't get it to work fully. Also you can see I'm keeping track of how many times it takes, once its found, make a new one and then exits after 4 rounds.
Code:
#include <stdio.h>
#include <unistd.h>
#include <time.h>
#include <stdlib.h>
char readbuffer[100];
int main() {
int pid, nbytes, i, input;
int fd[2] = {} ;
int guess = 0;
pid = fork();
int x;
srand((unsigned) time(NULL));
x = (rand() % 10 + 1);
if (pid == 0) {
close(fd[0]);
printf("enter a number ");
scanf("%d", &input);
write(fd[1], &input, (sizeof(input)));
if (x == input) {
exit(0);
}
close(fd[1]);
} else {
//PARENT
close(fd[1]);
nbytes = read(fd[0], &input, sizeof(input));
while (x != input) {
if (x != input) {
guess++;
}
}
char answer;
if (x == input) {
printf(" correct");
printf("Number of Guesses: %d\n", guess);
exit(0);
}
//to reset random
x = (rand() % 10 + 1);
close(fd[0]);
}
}
Re: C Simple child and parent back and forth
Quote:
I can't get it to work fully.
So what does work and what doesn't? You haven't explained the problem. What debugging of the code have you done? Have you stepped through the code in the debugger to see where is the problem?
Re: C Simple child and parent back and forth
Taking a quick look, what do expect from this code?
Code:
while (x != input) {
if (x != input) {
guess++;
}
}