2

我正在制作一个简单的立方根猜谜游戏,其中随机生成并显示它的立方,然后用户输入立方根是什么。这是我的程序:

int main()
try {
    int max, min;
    max = 99; min = 1; // only cubes of 1-99 are displayed

    // display the title
    cout << "\n\t\t\t\tCube Root Game" << endl;
    cout << "\t\t\t\t=============\n" << endl;
    srand(time(0)); // seed for random number generator

    // display 10 numbers for the user to guess the cube root
    for (int i = 0; i < 10; i++) {      
        int answer; // answer inputted by the user
        int temp = rand() % (max - min) + min; // random number
        int t3 = temp * temp * temp; // cube of the random number

        cout << "\tEnter the cube root for " << t3 << " : ";
        cin >> answer;

        if (answer == t3) {
            cout << "\tCorrect answer!\n" << endl;
        }
        else {
            cout << "\tIncorrect answer\n" << endl;
        }
    }
    keep_window_open("q");
}
catch (runtime_error& e) {
    cerr << "Error: " << e.what() << endl;
    keep_window_open("q");
    return 1;
}
catch(...) {
    cerr << "Unexpected error.\n";
}

问题是,当我正确输入立方根时,它总是说它不正确,但如果比较对我来说似乎没问题,所以我不知道出了什么问题。

4

1 回答 1

8
if (answer == t3) 

你不是这个意思吗:

if (answer == temp) 

(您希望用户猜测根,而不是多维数据集,对吗?):-)

于 2013-06-30T10:08:07.133 回答