C++程序菜单混乱



在这个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;
}
  1. 您已经
void findArea(double);
void quit();
void printHelp();

在您的主要功能内部。通常情况下,这些都不在任何功能范围内。

  1. 声明了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;
}

最新更新