我试图在有人试图输入负数时出现“检测到无效数字。请输入正整数”,但编译器将其视为零,从而完成程序
#include <iostream>
using namespace std;
int main() {
int number, minimum, maximum;
cout << " Enter any positive integers \n";
cout << " Enter zero when you want to stop \n";
cin >> number;
while (number < 0) {
cout << "Invalid number detected. Please enter a positive integer. \n";
cin >> number;
}
minimum = number;
maximum = number;
while (number > 0) {
cout << " Enter any positive integers \n";
cout << " Enter zero when you want to stop \n";
cin >> number;
if (number > maximum)
maximum = number;
if ((number < minimum) && (number != 0))
minimum = number;
}
cout << " your minumum number is " << minimum << endl;
cout << " your maximum is " << maximum << endl;
system("pause");
return 0;
}
最佳答案
我希望这对开始有所帮助。如果您需要在数字为 0 时停止,那么您需要检查它,而不是检查 < 0
或 > 0
#include <iostream>
using namespace std;
int main()
{
int number = -1;
while(number != 0)
{
cout << "Enter any positive integers or enter 0 to stop: ";
cin >> number;
if (number < 0)
cout << "Invalid number detected, please insert positive number or 0 to stop: ";
}
return 0;
}
此外,我建议注意你的编码风格,你可以从Google coding style开始。
关于c++ - 试图拒绝负数并让人们选择另一个但它完成了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32852993/