函数不会停止循环
C++: function wont stop looping
此函数的目的是要求用户输入要添加到订单中的数量。如果他们输入的值小于0,函数将要求他们重新输入info,如果他们输入0,则退出函数。如果值是正整数,则接受用户输入,修改数据成员,并返回true。如果用户输入0,函数返回false。问题是,无论用户输入什么,程序都不会退出。0、小于0的值和一个有效的正整数都会导致函数循环并要求用户再次输入信息。有人能指出这个函数中的逻辑有什么问题来解释为什么会发生这种情况吗?
bool Order::add(std::istream& is) {
int quantity;
bool start = true;
bool val = false;
while (start = true) {
std::cout << "Enter quantity (0 to quit): ";
is >> quantity;
if (quantity == 0) {
std::cout << "**No delivery recorded!" << std::endl;
start = false;
}
else if (quantity < 0) {
std::cout << "quantity must be a positive integer" << std::endl;
}
else {
copies += quantity;
start = false;
val = true;
}
}
return val;
}
你总是将"start"变量赋值为true:修改while循环(==):
while (start == true) {
相关文章:
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 循环中的随机函数
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 未在函数C++中执行的循环
- 如何在没有可变参数函数的情况下循环函数的参数
- 循环函数中的并行数组
- 如何循环函数,直到新的 mqtt 消息到达
- 循环C++ R 函数
- 为什么我的 while 循环函数只返回"1"?
- Pthread 循环函数永远不会被调用
- 循环函数调用未正确循环!(C++)
- 对于循环函数参数在C++中的奇数
- 具有双重调度的C++多态循环函数
- 循环函数给出"return’ with a value, in function returning void"误差
- 如何用循环函数求和
- 如何使c++中的for each循环函数与自定义类一起工作
- c++分割故障及循环函数
- C++ |需要帮助从 for 循环函数转换 - >递归函数
- 为什么要在 levelDB 的缓存中使用 while 循环(函数 Resize)?
- odeint中的循环函数