我是C ++的新手,我在构建一个简单的c ++加法计算器时遇到了问题。这是代码:
#include <iostream>
#include <string>
#include <climits>
using namespace std;
int main()
{
int number;
int total = 0;
int x = 0;
int z = 5;
cout << "Please enter the number you want to add" << endl;
while(x < 5 && z != 0){
cin >> number;
if (!cin){
cout << "Enter a valid number. " << "You have" << z << "tries left before this program terminate." << endl;
cin.clear();
z--;
}
else{
total = total + number;
x++;
}
}
cout << "The total number is " << total << endl;
return 0;
}
当我运行应用程序然后输入一个非整数时,它会显示“你还剩下_尝试”。如何制作应用程序以便用户有机会输入内容?
答案 0 :(得分:0)
一个简单的解决方案是添加
std::string junk;
cin >> junk;
在cin.clear()
之后。这将提取垃圾并将其放入junk
,然后跳过它。
答案 1 :(得分:0)
您可以使用ignore()
。我不知道你会有多少垃圾角色,但你可以试试像
cout << "Enter a valid number. " << "You have" << z << "tries left before this program terminate." << endl;
while (!cin.eof())
cin.ignore();
cin.clear();