나는 C + +로 사용자가 1 ~ 100 사이의 숫자를 추측해야하는 코드를 작성한 다음 컴퓨터에 20 개의 질문을 시도하여 해당 숫자를 추측 할 수있는 코드를 작성했습니다. 여기에 제가 작성한 코드가 있습니다 :20 질문 게임
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int imax;
char ans;
int imin;
int i;
const char y = 'y';
const char n = 'n';
imax = 100;
imin = 0;
i = 0;
int e = (imax - imin)/2;
cout << "Think of a number between 1-100." << endl;
do
{
cout << "Is the number equal or greater too " << e << endl;
cin >> ans;
if (ans == y)
{
cout << "Is the number " << e << endl;
cin >> ans;
if (ans == y)
{
i = e;
return i;
}
else
{
imin = e;
}
}
else
{
imax = e;
}
} while (i == 0);
cout << "Your number is "<< i << endl;
system("PAUSE");
return 0;
}
코드는 두 번째 if 문에 도달 할 때까지 작동합니다. 그것은 'y'를 받아 들일 것이고 그 숫자가 e인지 물어볼 것입니다. 그러나 'n'이 대답되면 그것은 또한 imin을 변화시키지 않을 것입니다. 또한 'n'이 첫 번째 if 문에 대해 응답되면 imax도 동일하게 설정되지 않습니다. 나는 이것을 꽤 오랫동안 고민하고 있으며, 주어진 도움을 정말로 감사 할 것입니다.
imin이 바뀌므로 e로 변경됩니다. 'n'에 응답하면 변경되지 않습니다. imin은 (으)로 변경해야하는 대상은 무엇입니까? –