为什么with和condition的语句无法按预期运行?

时间:2019-11-30 23:37:48

标签: c++

类似的问题不是我要问的。

在这里

#include <iostream>

using namespace std;

int main(){
    int base, inputX;
    int aCounter = 0;

    do {
        std::cout << "Please enter a value between 1-10" << endl;
        std::cin >> inputX;

        if (!cin) {
            std::cout << "Error! number only" << endl;
            std::cin.clear();
            std::cin.ignore(100, '\n');
        }else if (inputX <= 0 && inputX > 18) {
            std::cout << "Error! please enter a correct number" << endl;
        }else{
            base = inputX;
            std:;cout << "The number for base is " << base << "." << endl;    
            aCounter++ ;
        }
    }while (aCounter == 0);
}

如果我输入的不是数字,它将再次循环运行。 如果我输入的数字甚至是0或负数,它将直接结束循环并打印else语句,否则if会发生什么情况?

1 个答案:

答案 0 :(得分:0)

我认为您想使用cin>>pressed_key; 中的or而不是and

它将检查else if (inputX <= 0 && inputX > 18)是否像这样:

else if