2014-09-10 2 views
-1

함수와 중간 점을 사용하여 숫자 추측을위한 프로그램을 작성하여 선택된 숫자를 찾습니다. 컴파일하는 데 문제가 있으며 문제를 파악할 수 없습니까?함수와 중간 점을 사용하는 숫자 추측 자

내 문제에 대한 설명 :

playOneGame 기능은 무효의 반환 형식이 있어야합니다. 은 1에서 100 사이의 완전한 추측 게임을 구현해야합니다.

shouldPlayAgain 함수에는 부울 반환 유형이 있어야합니다. 은 사용자가 다시 재생할 것인지를 묻는 메시지를 표시해야합니다. 문자를 읽은 다음 문자가 'y'이면 true를 반환하고 그렇지 않으면 을 반환합니다. 그렇지 않으면 false를 반환합니다.

또한 도우미 함수 getUserResponseToGuessgetMidpoint을 구현해야합니다. 그들은 playOneGame 함수 안에서 호출되어야합니다.

getUserResponseToGuess. 이 함수는 사용자에게 구 "with it? (h/l/c) : "토큰을 대체하는 값으로 . char를 반환해야합니다. char 값은 'h', 'l'또는 'c'의 세 가지 중 하나 여야합니다. 다음과 같은 서명이 있어야합니다. char getUserResponseToGuess(int guess)

getMidpoint. 이 함수는 두 개의 정수를 허용해야하며 은 두 정수의 중간 점을 반환해야합니다. 범위의 중간에 에 두 개의 값이있는 경우이 중 작은 숫자 인 을 일관되게 선택해야합니다. int getMidpoint(int low, int high)

내 코드 :

#include<iostream> 
using namespace std; 

void playOneGame; 
char getUserResponseToGuess(int guess); 
int getMidpoint (int low, int high); 

int main() { 
    do 
    { 
     playOneGame(); 
    } while (shouldPlayAgain()); 
    return 0; 
} 

void playOneGame 
{ 
    int a = 100; 
    cout << "\nGuess a number between 1 and 100. " <<endl; 
    getUserResponseToGuess (a); 
} 


char getUserResponseToGuess(int guess) 
{ 
    while (true) 
    { 
     int guess = getMidpoint(minimum, maximum); 
     std::cout << "\nIs it [h]igher/[l]ower/[e]qual to " << guess << "? "; 
     char answer; 
     if (!(std::cin >> answer)) 
     { 
      std::cerr << "error reading user input, program exiting\n"; 
      exit(1); 
     } 
     if (answer == 'h') 
      minimum = guess + 1; 
     else if (answer == 'l') 
      maximum = guess - 1; 
     else if (answer == 'e') 
     { 
      std::cout << "Well, isn't that nice.\n"; 
      return; 
     } 
     if (minimum > maximum) 
     { 
      std::cerr << "hey, you lied to me!\n"; 
      exit(1); 
     } 
    } 
} 

int getMidpoint (int low, int high) 
{ 

    int mid; 

    mid = (low + high)/2; 

    return mid; 

} 
+0

코드를 읽기 쉽도록 올바르게 포맷하십시오. –

답변

1

void playOneGame; 함수 앞으로 선언하지 않습니다 그것은 다음과 같은 서명이 있어야합니다. void playOneGame();입니다. 함수 정의에도 똑같이 적용됩니다.

또한 shouldPlayAgain()을 정의하고 exit()을 작동 시키려면 <stdlib.h>을 포함해야합니다.

getUserResponseToGuess()은 유용한 것을 반환하는 대신 return에 불과하며 기본 분기에서는 아무 것도 반환하지 않습니다.

관련 문제