尝试用C ++制作冷暖的热

时间:2017-03-17 18:54:21

标签: c++

我正在尝试使用C ++使用循环和语句进行冷热的温暖游戏,但由于某些原因,在If语句之后循环停止并且不继续。有人能告诉我怎么解决这个问题?

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main() {
    int rand1, input;
    srand(time(NULL));
    rand1 = rand() % (100 - 1) + 1;
    cout << "Try guessing the number between 1 - 100" << endl;
    for (int i = 1; i <= 100; i++) {
        cin >> input;
        if (input > rand1) {
            cout << "Hot" << endl;
        }
        else if (input < rand1) {
            cout << "Cold" << endl;
        }
    }

    cin.get();
    cin.get();
    return 0;
}

1 个答案:

答案 0 :(得分:0)

问题不在你的if语句中;你的for循环缺少break语句,如果用户猜到了正确的数字,它将终止循环并退出游戏。

如果没有break语句,即使您已经猜到了正确的数字,循环也会继续运行,因为循环必须从i = 1运行到i = 100

添加一个中断语句,如:

for (int i = 1; i <= 100; i++) {
    cin >> input;
    if (input > rand1) {
        cout << "Hot" << endl;
    }
    else if (input < rand1) {
        cout << "Cold" << endl;
    }
    else { //       <---- If the user enters the correct number:
        cout << "Success! The correct number WAS" << rand1 << endl;  // Output success statement
        break; //   <---- Break out of the for-loop
    }
}