计算器程序无法编译

时间:2018-11-06 12:25:19

标签: c++

我编写了一个实现简单计算器的程序。但是,它不会编译。编译器说有22个错误,我不知道为什么。

期望的行为:

  1. 向用户询问所需的操作
  2. 向用户询问参数
  3. 输出结果

特定问题或错误:

任何出现cincoutendlcasebreak的编译错误

Minimal, Complete, and Verifiable example:

#include <iostream>
int main()
{
    float area, r, l, h, b;
    int choice;
    cout<<"\n area of?";
    cout<<"\n[1]square \n[2]rectangle \n[3]circle \n[4]triangle"<<endl;
    cin>>choice;
    switch(choice);
    {
    case 1:
        cout<<"enter length"<<endl;
        cin>>l;
        area=l*l;
        cout<<area<<endl;
        break;
    case 2:
        cout<<"enter height"<<endl;
        cin>>h;
        cout<<"enter length"<<endl;
        cin>>l;
        area=l*h;
        cout<<area<<endl;
        break;
    case 3:
        cout<<"enter radius"<<endl;
        cin>>r;
        area=r*r*3.14;
        cout<<area<<endl;
        break;
    case 4:
        cout<<"enter height"<<endl;
        cin>>h;
        cout<<"enter breadth"<<endl;
        cin>>b;
        area=h*b*0.5;
        cout<<area<<endl;
        break;
    }

    return 0;
}

1 个答案:

答案 0 :(得分:5)

有两个错误(至少是编译时错误)。首先,cincoutendl是未知的,您必须将它们分别写为std::cinstd::coutstd::endl。 / p>

第二个问题在这里:

switch (choice);

删除该分号就可以了。之所以不能使用分号,是因为switch (choice);是自己的分号,并且已经完成了,如果没有分号,那么后面的语句就没有意义了。

此外,尽管它不会引起任何编译时错误,但我强烈建议您正确缩进代码。 mjcs编辑了您为您提供的代码,现在看起来更好了,并且以这种方式查找错误要容易得多。在大型程序中,使代码缩进正确是至关重要的,否则很难使用。