2016-06-15 2 views
0

저는 프로그래밍 초보자이며 포럼에 처음 왔습니다. 저는 시작 프로젝트, 행맨 게임에 참여했습니다. 반복 상수 인 numberGuesses를 사용하여 사용자가 입력 한 추측 수를 추적합니다. 그러나, 내 프로그램은 적절하게 반복되지 않으며 어떤 이유에서인지 이유를 설명 할 수 없습니다. 어떤 도움이라도 대단히 감사합니다!루핑 증가가 작동하지 않습니다.

#include <iostream> 
#include <string> 
using namespace std; 

int main() 
{ 
    string userWord = " "; 
    char userLetter = ' '; 
    int numberGuesses = 0; 
    string board1 = 
     " -------|\n" 
     " |  |\n" 
     "  |\n" 
     "  |\n" 
     "  |\n" 
     "  |\n" 
     "  -----"; 
    string board2 = 
     " -------|\n" 
     " |  |\n" 
     " O  |\n" 
     "  |\n" 
     "  |\n" 
     "  |\n" 
     "  -----"; 
    string board3 = 
     " -------|\n" 
     " |  |\n" 
     " O  |\n" 
     " |  |\n" 
     "  |\n" 
     "  |\n" 
     "  -----"; 
    string board4 = 
     " -------|\n" 
     " |  |\n" 
     " O  |\n" 
     "-|  |\n" 
     "  |\n" 
     "  |\n" 
     "  -----"; 
    string board5 = 
     " -------|\n" 
     " |  |\n" 
     " O  |\n" 
     "-|-  |\n" 
     "  |\n" 
     "  |\n" 
     "  -----"; 
    string board6 = 
     " -------|\n" 
     " |  |\n" 
     " O  |\n" 
     "-|-  |\n" 
     "/  |\n" 
     "  |\n" 
     "  -----"; 
    string board7 = 
     " -------|\n" 
     " |  |\n" 
     " O  |\n" 
     "-|-  |\n" 
     "/ \\  |\n" 
     "  |\n" 
     "  -----"; 

    cout << "Enter a word to guess: "; 
    cin >> userWord; 
    for (int i = 0; i < userWord.length(); i++) 
     { 
      userWord[i] = toupper(userWord[i]); 
     } 
    cout << "You entered: " << userWord << endl; 



    do 
    { 

     if (numberGuesses = 0) 
     { 
      cout << board1; 
     }  
     if (numberGuesses = 1) 
     { 
      cout << board2; 
     } 
     else if (numberGuesses = 2) 
     { 
      cout << board3; 
     } 
     else if (numberGuesses = 3) 
     { 
      cout << board4; 
     } 
     else if (numberGuesses = 4) 
     { 
      cout << board5; 
     } 
     else if (numberGuesses = 5) 
     { 
      cout << board6; 
     } 
     else if (numberGuesses = 6) 
     { 
      cout << board7; 
     } 

     cout << "\nEnter a letter to guess: "; 
     cin >> userLetter; 
     userLetter = toupper(userLetter); 
     cout << "You entered: " << userLetter << endl; 

     if (userWord.find(userLetter) != string::npos) 
      cout << userLetter << " is in the word to guess." << endl; 
     else 
      cout << userLetter << " is NOT in the word to guess." << endl; 

     numberGuesses++; 

    } 

    while (numberGuesses <= 6); 

    return 0; 
} 
+0

당신은'board's (또는 문자열)의 배열을 사용하여'if' 문을 많이 제거 할 수 : 어떤지를 확인하려면, 당신은 == 연산자를 사용합니다. 'cout << board_array [numberGuesses] << endl;'과 같은 것입니다. –

답변

10

=은 할당 연산자입니다.

if (numberGuesses == 0) { 
    // Here -------^ 
    // (and do the same for the other conditions) 
관련 문제