我正在为一门C++课程创建一个程序,我创建了一个while循环来防止无效输入。每次我尝试使用一个无效输入进行测试时,它都会陷入无限循环中。由于我是编程新手,所以我真的不知道该如何解决这个问题。
cout << "Enter weight in ounces (Max: 1800)" << endl;
cin >> pkgweight;
while (pkgweight > 0 || pkgweight < 1800)
{
cout << "Weight out of range. Program terminating.\n" << endl;
}
cout << "Enter miles shipping (Max: 3500)" << endl;
cin >> distance;
while (distance > 0 || distance < 3500)
{
cout << "Shipping distance out of range." << endl;
cout << "Program terminating.\n" << endl;
}
while(pkgweight > 0 || pkgweight < 1800)
, 然后询问是否有可能的pkgweight
值会使它变为false
。然后,在你修复之后,问问自己如果在while
循环体内从未给pkgweight
赋新值,它如何从true
变为false
。 - Nathan Piersonwhile
循环而不是if
条件?“程序终止”应该跟随类似于std::terminate()
的内容。 - John Zwinck