3

本周的家庭作业是创建一个基本的 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;
}

我认为这是我忽略的简单事情,但我无法弄清楚我的问题是什么。任何帮助深表感谢。提前致谢。

4

2 回答 2

8

if ( int feet, int inches < 0.0 )

您隐式地重新声明了您之前声明的两个整数变量。你不应该那样做。相反,只需使用它们:

if (feet, inches < 0.0 )

现在,这可能不是你的意思。你可能想说这样的话:

if (feet < 0.0 || inches < 0.0 )
于 2012-08-17T03:54:03.430 回答
0

您需要在int开始您的 try 块的 if 语句中剪切单词。

您需要使用 a||而不是逗号。IEfeet < 0.0 && inches < 0.0

于 2012-08-17T03:54:58.157 回答