Путаница в меню программ на C ++ - PullRequest
0 голосов
/ 11 апреля 2020

В этой программе на 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;
 }

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Попробуйте этот код .
Возможно, ваш код имел :
У вас было объявление функции в main (), которое не разрешено. Была еще одна ошибка: у вас был тип аргумента double в области, но в теле функции области он был пустым, поэтому это ошибка компиляции аргумента.
Также в вашем коде есть оператор case без switch (). Есть гораздо больше ошибок, как вы не объявили переменные, даже не принимая входные данные.

   #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;
   }
0 голосов
/ 11 апреля 2020
  1. У вас есть
 void findArea(double);
 void quit();
 void printHelp();

внутри вашей основной функции. Обычно они бывают вне какой-либо функции.

void findArea(double); объявлено, но используется case 'FA': findArea(); и определено void findArea(){}. Изменить:
void findArea(double);

на

void findArea();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...