Got it.
Sorry, I'm difficult sometimes. :/
Code:
//
// main.c
// number_guess
//
// Created by Joshua Ernzen on 12/20/17.
// Copyright © 2017 Joshua Ernzen. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static void stdinClear() {
short int c;
while((c = getchar()) != '\n' && c != EOF);
return;
}
static int nonIntDetector(char *input, unsigned long stringLength, short int invalidInput) {
short int inputCounter, intCounter, nonIntDetect, intDetect;
char Numbers[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
nonIntDetect = 0;
intDetect = 0;
if(invalidInput) {
puts("Invalid input.");
return 1;
}
for(inputCounter = 0; inputCounter < stringLength; inputCounter++)
for(intCounter = 0; intCounter < 10; intCounter++) {
if(input[inputCounter] == Numbers[intCounter]) {
intDetect++;
break;
}
if(intDetect != inputCounter) {
puts("Numbers only, please.");
return 1;
}
}
return nonIntDetect;
}
int main() {
short int playAgain, loopChecker, randomNumber, intInput, invalidInput;
char userInput[5], anotherGame[3];
loopChecker = 1;
puts("Random number guessing game.");
do {
randomNumber = arc4random_uniform(101);
do {
do {
invalidInput = 0;
printf("Enter your guess: ");
fgets(userInput, sizeof(userInput), stdin);
if(strchr(userInput, '\n') == NULL) {
stdinClear();
invalidInput = 1;
}
}
while(nonIntDetector(userInput, strlen(userInput), invalidInput));
intInput = atoi(userInput);
if(intInput > randomNumber)
puts("Too High.");
else if(intInput < randomNumber)
puts("Too low.");
}
while(intInput != randomNumber);
puts("You win!");
do {
do {
invalidInput = 0;
puts("Another game?");
puts("1. Yes, 2. No");
fgets(anotherGame, sizeof(anotherGame), stdin);
if(strchr(anotherGame, '\n') == NULL) {
stdinClear();
invalidInput = 1;
}
}
while(nonIntDetector(anotherGame, strlen(anotherGame), invalidInput));
playAgain = atoi(anotherGame);
if(playAgain == 2) {
playAgain = 0;
loopChecker = 0;
}
else if(playAgain == 1) {
loopChecker = 0;
}
else
loopChecker = 1;
}
while(loopChecker && puts("Invalid input."));
}
while(playAgain == 1);
return 0;
}