标题可能听起来令人困惑,所以首先我将向您展示我的代码,我制作了这个简单的程序来获取两个输入值并将它们相乘,还有另一件事,但这并不重要,它可以正常工作:
#include <iostream>
using namespace std;
main()
{
int a,b,c,d,e;
char j = 4;
cout << "Welcome to Momentum Calculator\n\n";
cout << "------------------------------\n";
cout << "Please Enter Mass in KG (if the mass in in grams, put \"9999\" and hit enter): \n\n";
cin >> a;
if (a==9999) {
cout << "\nPlease Enter Mass in grams: \n\n";
cin >> d;
}
else {
d = 0;
}
cout << "\nPlease Enter Velocity \n\n";
cin >> e;
if (d == 0)
{
c = (a*e);
}
else {
c = (e*d)/100;
}
cout << "\nMomentum = " << c;
cin.get();
cin.ignore();
while (j == 4)
{
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
main();
}
}
现在你可以看到,我的变量是一个 int(整数),我的问题是如果我输入一个英文字母 (az) 或任何不是数字的东西都会导致它以无限的速度无限地重复我的程序。我想要一个字符串/字符来查看我的 var "a" 是字母还是其他任何东西,但不知道该怎么做。我可以做到,但是,我希望用户在“a”中只输入一次,而我的让他再次输入。请帮忙 :)