我编写了一个实现简单计算器的程序。但是,它不会编译。编译器说有22个错误,我不知道为什么。
期望的行为:
特定问题或错误:
任何出现cin
,cout
,endl
,case
和break
的编译错误
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;
}
答案 0 :(得分:5)
有两个错误(至少是编译时错误)。首先,cin
,cout
和endl
是未知的,您必须将它们分别写为std::cin
,std::cout
和std::endl
。 / p>
第二个问题在这里:
switch (choice);
删除该分号就可以了。之所以不能使用分号,是因为switch (choice);
是自己的分号,并且已经完成了,如果没有分号,那么后面的语句就没有意义了。
此外,尽管它不会引起任何编译时错误,但我强烈建议您正确缩进代码。 mjcs编辑了您为您提供的代码,现在看起来更好了,并且以这种方式查找错误要容易得多。在大型程序中,使代码缩进正确是至关重要的,否则很难使用。