在这个C++程序中,我一直收到一个错误,说"源文件中的编辑器占位符"用于案例"fa":findArea。我不知道问题出在哪里。我试着把它改成另一个名字,但没有成功。
int main ()
{
void findArea(double);
void quit();
void printHelp();
case 'h':
case 'H': printHelp(); //help text.
break;
case 'q':
case 'Q': quit(); //quit program.
break;
case 'fa':
case 'FA': findArea(); //find area of rectangle.
break;
}
void quit(){ // end program
cout << "Ending!" << endl;
}
void printHelp(){ // help text
cout << "Supported commands: n"
<< "fa. find area./n"
<< "h. print help./n"
<< "q. quit./n"
}
void findArea(){
area = length * width;
}
- 您已经
void findArea(double);
void quit();
void printHelp();
在您的主要功能内部。通常情况下,这些都不在任何功能范围内。
- 声明了
void findArea(double);
,但使用了case 'FA': findArea();
并定义了void findArea(){}
。更改:
void findArea(double);
至
void findArea();
尝试此代码
检查您的代码有:
您在main((中有函数声明,这是不允许的。还有一个错误,您在区域中使用了参数类型double,但在区域的函数体中它是void,所以这是一个参数不匹配的编译器错误
此外,您的代码具有不带switch((的case语句。还有很多错误,比如您没有声明变量,甚至没有输入。
#include<iostream>
using namespace std;
void findArea();
void printHelp();
void quit();
int main ()
{
char ch;
cout<<"Enter choice n";
cout<<"h for Help n";
cout<<"q for Quit n";
cout<<"fa to find area n";
cin>>ch;
switch (ch)
{
case 'h':
case 'H': printHelp(); //help text.
break;
case 'q':
case 'Q': quit(); //quit program.
break;
case 'f':
case 'F': findArea();
break;
}
return 0;
}
void quit()
{
cout << "Ending!" << endl;
}
void printHelp()
{
// help text
cout << "Supported commands: n";
cout<< "f. find area.n" ;
cout<< "h. print help.n" ;
cout<< "q. quit./n" ;
}
void findArea()
{
double l,w,area;
cout<<"Enter Length n";
cin>>l;
cout<<"Enter Width n";
cin>>b;
area = l * w;
cout<<"ntArea = "<<area;
}