#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#define BUFFER_SIZE 100
int main(int argc, char *argv[]) {
int i, guess, target, goes, max = 100;
char buffer[BUFFER_SIZE];
srand((unsigned) time(NULL)); // Initialize random number generator.
printf("Welcome!\n");
for(i = 0; i < 8; i++) {
printf("=");
}
printf("\n\n");
do {
goes = 0; //Zähler für die Versuche
target = rand() % max + 1; //Zufallszahl mod max (in diesem Fall 100) +1
guess = 0; //Variable für die Versuche wir nullgesetzt
while(guess != target) { //schleifenanfang: solange die Zufallszahl nicht erraten wurde...
printf("Enter your guess: "); //eingabeaufforderung
fgets(buffer, BUFFER_SIZE - 1, stdin); //einlesen und sicherstellen ob die eingabe nicht zu lang ist
while(!sscanf(buffer, "%d", &guess)) { //einlesen der eingabe
printf("Enter a number! ");
fgets(buffer, BUFFER_SIZE - 1, stdin);
}
if(guess < target) //abgleich der eingegebenen zahl mit der zufallszahl
printf("Too low! ");
else if(guess > target) // ""
printf("Too high! ");
++goes; //anzahl der versuche wird erhöht
}
printf("Well done, it was %d!\n", target);
printf("You took %d goes.\n\n", goes);
printf("Another go? (y/n) ");
fgets(buffer, BUFFER_SIZE - 1, stdin);
} while (buffer[0] == 'y' || buffer[0] == 'Y');
printf("Goodbye!\n");
return EXIT_SUCCESS;
}