I have coded a "guess the number" program. When the user inputs his guess, the program is supposed to tell him: "Excellent! Would you like to play again (y or n)?" or "Too Low. Try again." or "Too High. Try again.". The user is supposed to have 6 guesses before the game ends. My problem is that the program gives him one chance to enter a guess and then gives outputs all of the choices . I am not sure how to fix my program or where the error(s) are within the program.
I would appreciate it if someone could please point me to where in my program that my error(s) are so that I can try to fix them. Sorry to post the whole code but since I am not sure where the problem is I thought it might be needed.Code:#include <iostream> using std::cout; using std::cin; using std::endl; #include <cstdio> #include <cstdlib> #include <ctime> int randomNumber(); void test(int yourGuess, int rnum); void intro(); void main(void) { int i=0; int rnum=0; int yourGuess = 0; int count = 0; long ltime = time(NULL); unsigned stime = (unsigned)(ltime/2); intro(); cin >> yourGuess; srand( time( 0 )); for (i=0; i<6; i++) { rnum=randomNumber(); test( yourGuess, rnum); } return; } void intro(void) { cout << "I have a number between 1 and 1000.\n"; cout << "Can you guess my number?\n"; cout << "Please type your first guess.\n"; } int randomNumber() { int number =-99999; number= 1 + rand() % 1000; return number; } void test(int yourGuess, int rnum) { if ( yourGuess < rnum ) cout << "Too Low. Try again" << endl; else if ( yourGuess > rnum ) cout << "Too High. Try again" << endl; if ( yourGuess = rnum ) cout << "EXCELLENT! You guessed the number!\n"; cout << "Would you like to play again (y or n)?" << endl; }



LinkBack URL
About LinkBacks



