我正在为家庭作业编写此代码(刚开始 C++,所以请放轻松)。我们今天刚刚开始了 while、do-while 和 for 循环。该程序运行良好,只是如果您在程序要求整数时输入一个字母,它将无限循环。到底是怎么回事?(下面的代码)***编辑:澄清一下,循环的部分是:“您输入的数字是负数。请输入正数以继续。” 但是用户没有机会输入另一个号码。它只是继续打印这个。
#include <iostream>
using namespace std;
int main ( )
{
//define variables
int num1, num2, total;
char answer1;
do
{
//user enters a number
cout << "\nPlease enter a positive number and press Enter: \n";
cin >> num1;
//check that the given num1 value is positive
while (num1 < 0)
{
cout << "The number you entered is negative.\nPlease enter a positive number to continue.\n";
cin >> num1;
}
cout << endl;
//add the sum of 1 through num1 value
num2 = 1;
total = 0;
while (num1 >= num2)
{
total = total + num2;
num2 ++;
}
//tell the user the sum
cout << "The total of all the integers\nfrom 1 to " << num1 << " is: \n";
cout << total;
//ask if the user wants to try again
cout << "\n\nWould you like to try again with a new number?\nEnter y for yes or n for no.\n";
cin >> answer1;
} while (answer1 == 'y');
cout << endl;
return 0;
}