本周的作业是创建一个基本的 c++ 程序,要求用户输入以英尺和英寸为单位的长度,然后以厘米为单位输出;问题是我们要创建一个异常并让它在用户输入负数或字符时处理它。我已经编写了代码,但是在编译时出现错误:
在函数 'int main()' 中:第 19 行的“int”之前的“int”之前的预期主表达式预期“)”。
这是我的代码:
#include <iostream>
using namespace std;
const double centimetersPerInch = 2.54; //named constant
const int inchesPerFoot = 12; //named constant
int main ()
{
int feet;
int inches; //declared variables
int totalInches;
double centimeters;
//statements
cout << "Enter two integers one for feet and " << "one for inches: ";
cin >> feet >> inches;
try
{
if ( int feet, int inches < 0.0 )
throw "Please provide a positive number";
cout << endl;
cout << "The numbers you entered are " << feet << " for feet and " << inches << " for inches. " << endl;
totalInches = inchesPerFoot * feet + inches;
cout << "The total number of inches = " << totalInches << endl;
centimeters = centimetersPerInch * totalInches;
cout << "The number of centimeters = " << centimeters << endl;
}
catch (char* strException)
{
cerr << "Error: " << strException << endl;
}
return 0;
}
我认为这是我忽略的简单问题,但我无法弄清楚我的问题是什么。任何帮助深表感谢。提前致谢。
最佳答案
在
if ( int feet, int inches < 0.0 )
您在某种程度上隐式地重新声明了您之前声明的两个整数变量。你不应该那样做。相反,只需使用它们:
if (feet, inches < 0.0 )
现在仍然,这可能不是你的意思。你可能想说这样的话:
if (feet < 0.0 || inches < 0.0 )
关于 "int"之前的 C++ 预期主表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11999532/