我刚刚开始编程,这是我在这个网站上的第一篇文章,希望这是一个漫长而富有成效的旅程的开始!
我正在从Deitel的书中学习C++,也是控制流1的练习之一(第4章-如果,如果...其他,而)是问我,除其他外,输入一个数字并检查它是否不小于1且不大于20(在这种情况下,必须向用户显示错误消息,直到输入有效的数字)。为了使它工作,我必须使用||操作符如下:
while (number < 1 || number > 20)
{
cout << "Wrong number, insert a valid number";
cin >> number;
}
问题是,这本书还没有介绍布尔运算符(||,&& ...)!
所以我的问题是,有没有可能在一个值上操作这样一个控件,而不使用“or”操作符,只使用if,if... else和while,如果需要的话,嵌套这些操作符?
5条答案
按热度按时间8dtrkrch1#
在方法中将嵌套if。
所以你假设这个数字是坏的,如果它〈1,那么它跳过第一个if,这个数字仍然是坏的,如果这个数字〉1,那么它尝试第二个条件,并且只把ok设置为true is that is true,也就是说两个条件都是真的,你可以把它 Package 在必要的条件中,同时自己看:
b09cbbtk2#
你可以用算术来计算,但这是一个技巧
另一种方法是单独测试
moiiocjp3#
那么,您可以使用std::clamp()
e5nqia274#
你已经可以写一个函数了(见
main
函数),所以写一个检查数字是否在一个区间内,如果在区间内返回1,否则返回0。这可以通过在函数中只使用if
和return
语句来完成。并在while
语句中放置一个函数调用。yquaqz185#
谢谢大家的帮助。解决困扰我的问题的方法是彼得在评论中写的一个小表情,因为这是唯一一件我在读过的几章里已经解释过的事情(隐式布尔运算符,0表示“假”,1或更大值表示“真”)。对不起,我的问题不能更具体,但英语是“这也是为什么我开始研究Deitel的书:由于编程是一个复杂的主题,我认为在转向英语文本之前,最好先从意大利语开始。