Thread: Guessing Game

  1. #1
    Registered User prvn20's Avatar
    Join Date
    Jun 2014
    Location
    Manila
    Posts
    1

    Guessing Game

    Code:
    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    #include <string>
    #include <istream>
    using namespace std;
    const int MAX_TRIES=5;
    int letterFill (char guess, string secretword, string&guessword);
    int main ()
    {
    	string name;
    	char letter;
    	int num_of_wrong_guesses=0;
    	string word;
    	// welcome the user
    	cout << "\n\nWelcome to hangman!! Guess a country that comes into your mind.";
    	// Ask user for Easy, Average, Hard
    	string level;
    	cout <<"\nChoose a LEVEL(E - Easy, A - Average, H - Hard):" << endl;
    	cin >> level;
    	// compare level 
    	if(level == "Easy")
    	{
     		//put all the string inside the array here
     		string easy[] = {"india","japan","nepal","china"};
     		string word;
     
     		srand(time(NULL));
     
     		int n=rand()% 4;
     
    		word=easy[n];
     
     		//call the function here for guessing game
     		// Initialize the secret word with the * character.
    		string unknown(word.length(),'*');
    		cout << "\n\nEach letter is represented by an asterisk.";
    		cout << "\n\nYou have to type only one letter in one try.";
    		cout << "\n\nYou have " << MAX_TRIES << " tries to try and guess the country.";
    		cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
    		// Loop until the guesses are used up
    		while (num_of_wrong_guesses < MAX_TRIES)
    		{
    			cout << "\n\n" << unknown;
    			cout << "\n\nGuess a letter: ";
    			cin >> letter;
    			// Fill secret word with letter if the guess is correct,
    			// otherwise increment the number of wrong guesses.
    			if (letterFill(letter, word, unknown)==0)
    			{	
    				cout << endl << "Whoops! That letter isn't in there!" << endl;
    				num_of_wrong_guesses++;
    			}	
    			else
    			{
    				cout << endl << "You found a letter! Isn't that exciting?" << endl;
    			}
    				// Tell user how many guesses has left.
    				cout << "You have " << MAX_TRIES - num_of_wrong_guesses;
    				cout << " guesses left." << endl;
    				// Check if user guessed the word.
    			if (word==unknown)
    			{
    				cout << word << endl;
    				cout << "Yeah! You got it!";
    				break;
    			}
    		}		
    		if(num_of_wrong_guesses == MAX_TRIES)
    		{
    			cout << "\nSorry, you lose...you've been hanged." << endl;
    			cout << "The word was : " << word << endl;
    		}
    		cin.ignore();
    		cin.get();
    		return 0;
    	}
    	/* Take a one character guess and the secret word, and fill in the
    	unfinished guessword. Returns number of characters matched.
    	Also, returns zero if the character is already guessed. */
    	else if (level == "Average")
    	{
    		//put all the string inside the array here
     		string average[] = {"madagascar","azerbaijan","kyrgyzstan"};
     
    		srand(time(NULL));
     		int n=rand()% 3;
     
     		word=average[n];	
      
     		//call the function here for guessing game
    		// Initialize the secret word with the * character.
    		string unknown(word.length(),'*');
    		cout << "\n\nEach letter is represented by an asterisk.";
    		cout << "\n\nYou have to type only one letter in one try.";
    		cout << "\n\nYou have " << MAX_TRIES << " tries to try and guess the country.";
    		cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
    		// Loop until the guesses are used up
    		while (num_of_wrong_guesses < MAX_TRIES)
    		{
    			cout << "\n\n" << unknown;
    			cout << "\n\nGuess a letter: ";
    			cin >> letter;
    			// Fill secret word with letter if the guess is correct,
    			// otherwise increment the number of wrong guesses.
    			if (letterFill(letter, word, unknown)==0)
    			{	
    				cout << endl << "Whoops! That letter isn't in there!" << endl;
    				num_of_wrong_guesses++;
    			}	
    			else
    			{
    				cout << endl << "You found a letter! Isn't that exciting?" << endl;
    			}
    				// Tell user how many guesses has left.
    				cout << "You have " << MAX_TRIES - num_of_wrong_guesses;
    				cout << " guesses left." << endl;
    				// Check if user guessed the word.
    			if (word==unknown)
    			{
    				cout << word << endl;
    				cout << "Yeah! You got it!";
    				break;
    			}
    		}		
    		if(num_of_wrong_guesses == MAX_TRIES)
    		{
    			cout << "\nSorry, you lose...you've been hanged." << endl;
    			cout << "The word was : " << word << endl;
    		}
    		cin.ignore();
    		cin.get();
    		return 0;
    	}
    	/* Take a one character guess and the secret word, and fill in the
    	unfinished guessword. Returns number of characters matched.
    	Also, returns zero if the character is already guessed. */
    	
    	else if(level == "Hard")
    	{
     		//put all the string inside the array here
     		string hard[] = {"turkmenistan","french guiana","new caledonia"};
     
    		srand(time(NULL));
     
     		int n=rand()% 3;
     
     		word=hard[n];
      
     		//call the function here for guessing game
     		// Initialize the secret word with the * character.
    		string unknown(word.length(),'*');
    		cout << "\n\nEach letter is represented by an asterisk.";
    		cout << "\n\nYou have to type only one letter in one try.";
    		cout << "\n\nYou have " << MAX_TRIES << " tries to try and guess the country.";
    		cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
    		// Loop until the guesses are used up
    		while (num_of_wrong_guesses < MAX_TRIES)
    		{
    			cout << "\n\n" << unknown;
    			cout << "\n\nGuess a letter: ";
    			cin >> letter;
    			// Fill secret word with letter if the guess is correct,
    			// otherwise increment the number of wrong guesses.
    			if (letterFill(letter, word, unknown)==0)
    			{	
    				cout << endl << "Whoops! That letter isn't in there!" << endl;
    				num_of_wrong_guesses++;
    			}	
    			else
    			{
    				cout << endl << "You found a letter! Isn't that exciting?" << endl;
    			}
    				// Tell user how many guesses has left.
    				cout << "You have " << MAX_TRIES - num_of_wrong_guesses;
    				cout << " guesses left." << endl;
    				// Check if user guessed the word.
    			if (word==unknown)
    			{
    				cout << word << endl;
    				cout << "Yeah! You got it!";
    				break;
    			}
    		}		
    		if(num_of_wrong_guesses == MAX_TRIES)
    		{
    			cout << "\nSorry, you lose...you've been hanged." << endl;
    			cout << "The word was : " << word << endl;
    		}
    		cin.ignore();
    		cin.get();
    		return 0;
    	}
    	{
    		int matches;  // to hold result of function call.
    
    
    		matches = ;int letterFill (char guess, string secretword, string &guessword);
    
    
    		// matches now holds result of letterFill call
    
    
    		return 0;
    	}
    
    
    	/* Take a one character guess and the secret word, and fill in the
    	unfinished guessword. Returns number of characters matched.
    	Also, returns zero if the character is already guessed. */
    }
    
    
    int letterFill (char guess, string secretword, string &guessword)
    {
    	int i;
    		int matches=0;
    		int len=secretword.length();
    		for (i = 0; i< len; i++)
    		{
    			// Did we already match this letter in a previous guess?
    			if (guess == guessword[i])
    			return 0;
    			// Is the guess in the secret word?
    			if (guess == secretword[i])
    			{
    				guessword[i] = guess;
    				matches++;
    			}
    		}
    		return matches;
    	}
    *I'm getting a error which says, 197 13 [Error] expected primary-expression before ';' token

    How can I fix it?

  2. #2
    Registered User
    Join Date
    May 2010
    Posts
    4,632
    Also posted here and here, and who knows where else.

    Jim

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Please help me with this guessing game.
    By NFlores2 in forum C++ Programming
    Replies: 4
    Last Post: 05-22-2014, 03:41 AM
  2. guessing game
    By GaitBait in forum C Programming
    Replies: 2
    Last Post: 10-03-2013, 12:29 AM
  3. Guessing Game
    By ryansanford in forum C Programming
    Replies: 2
    Last Post: 10-01-2012, 03:06 AM
  4. Guessing game: how to quit the game?
    By hzr in forum C Programming
    Replies: 5
    Last Post: 12-18-2008, 10:53 AM
  5. guessing game
    By Sal79 in forum C Programming
    Replies: 14
    Last Post: 05-09-2007, 02:22 PM