[英]C++ Program Menu Confusion
在這個 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();
在您的主要 function 內部。 通常這些將在任何 function 之外。
void findArea(double);
已聲明,但case 'FA': findArea();
使用並定義void findArea(){}
。 改變:void findArea(double);
至
void findArea();
試試這個代碼。
可能你的代碼有:
您在 main() 中有 function 聲明,這是不允許的。 還有一個錯誤,您的參數類型為 double 區域,但在 function 區域主體中它是無效的,因此這是一個參數不匹配編譯器錯誤。
您的代碼也有沒有 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<<"\n\tArea = "<<area;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.