📄 guessword.cpp
字号:
// Exercise 20.16: GuessWord.cpp
// Application provides an word-guessing game to users.
#include <iostream> // required to perform C++ stream I/O
#include <string> // required to access string functions
#include <ctime> // contains prototype for function time
#include <exception> // required to use exceptions
#include <stdexcept> // required for out_of_range exception
// contains function prototypes for functions srand and rand
#include <cstdlib>
using namespace std; // for accessing C++ Standard Library members
// array of words to be scrambled
const string WORD_LIST[] = { "class", "function",
"member", "stream", "program", "application", "basic",
"debugger", "database", "files", "inheritance", "assembly",
"multimedia", "enumeration", "pointers", "arrays", "strings",
"references", "manipulator", "structures" };
// function prototype
int nextWord( string & );
// function main begins program execution
int main ()
{
// define variables
string text; // stores user's guess
string display; // stores the hidden word
int index; // stores the letter to display
bool correctAnswer = false; // true is the user guessed correctly
// randomize random number generator using current time
srand( time( 0 ) );
// select word and display hidden word, returns word's index
int randomNumber = nextWord( display );
// repeat while user has not guessed correctly
do
{
// prompt user for and input guess (or index)
cout << "\nEnter number of character to reveal or guess "
<< "the word: ";
cin >> index;
index--; // changes 1-based input to 0-based array index
// unhide the specified character
display[ index ] = WORD_LIST[ randomNumber ].at( index );
cout << "\nHidden word is: " << display << endl << endl;
} // end do...while
while ( correctAnswer != true );
return 0; // indicate that program ended successfully
} // end function main
// scramble random word and display it
int nextWord( string &display )
{
// generate new random number
int randomNumber = rand() % 20;
// select new word from array with random index
string word = WORD_LIST[ randomNumber ];
// loop to generate scrambled word
for ( int counter = 0; counter < word.size(); counter++ )
{
display += "*";
} // end for
// display scrambled word
cout << "\nHidden word is: " << display << endl;
return randomNumber;
} // end function nextWord
/**************************************************************************
* (C) Copyright 1992-2005 by Deitel & Associates, Inc. and *
* Pearson Education, Inc. All Rights Reserved. *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -