如果输入字母而不是数字,为什么会出现无限循环?
我正在编写这个代码用于家庭作业(刚开始使用C ++,所以请放轻松)。我们刚刚开始的同时,今天和今天的循环。该程序运行正常,但如果您在程序要求输入整数时输入一个字母,它会无限循环。到底是怎么回事?(以下代码)***编辑:为了澄清,循环的部分是:“您输入的数字是负数。请输入正数以继续。” 但是用户没有机会输入另一个号码。它只是继续打印这个。
#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;}
吃鸡游戏
肥皂起泡泡
尚方宝剑之说
相关分类