2016-06-19 3 views
-2

私はプロトタイプメニューを主要な機能に渡そうとしましたが、私はその可変スコープを持っていないと言います。私はすでにさまざまな方法で試してみましたが、うまくいきません。プロトタイプで自分のコードに間違っていることは何ですか?

#include <iostream> 
#include <string> 
using namespace std; 
void menu(int opccion); 
void agregar(); 
void consultar(); 
void eliminar(); 

void menu(opccion){ 
    do{ 
     switch(opccion){ 
      case 1: 
       cout << "menu 2" << endl; 
       break; 

      case 2: 
       cout << "menu 3" << endl; 
       break; 

      case 3: 
       cout << "menu 24" << endl; 
       break; 

      default: 
       cout << "opccion invalida" << endl; 
     } 
    }while(opccion != 4); 
} 

int main(){ 
    int opccion; 
    string Menu[] = {"agregar","consultar","eliminar"}; 
    for (int i = 0; i < 3; ++i){ 
     cout << i+1 << endl << Menu[i]; 
    } 
    cout << "what would you do? " << endl; 
    cin >> opccion; 
    menu(opccion); 
    return 0; 
} 
+0

'無効メニュー(opccion){...}'これは右見ていません。あなたのプロトタイプでは同じですか? – DeiDei

+0

voidメニュー(int opccion); <<<これは私のプロトタイプです –

+3

'menu'の定義では、' void menu(int opccion){... 'の型を指定する必要があります。 –

答えて

0

より、このような何か:

#include <iostream> 
#include <string> 
using namespace std; 
void menu(int opccion); 
void agregar(); 
void consultar(); 
void eliminar(); 

int menu(){ 
    static const string Menu[] = {"agregar","consultar","eliminar"}; 
    for (int i = 0; i < 3; ++i){ 
     cout << i+1 << " : " << Menu[i] << endl; 
    } 
    int opccion; 
    do { 
     cout << "what would you do? " << endl; 
     cin >> opccion; 
     switch(opccion){ 
      case 1: 
       cout << "menu 2" << endl; 
       break; 

      case 2: 
       cout << "menu 3" << endl; 
       break; 

      case 3: 
       cout << "menu 24" << endl; 
       break; 

      default: 
       cout << "opccion invalida" << endl; 
     } 
    } while (opccion <1 || opccion >= 4); 
    return opccion; 
} 

int main(){ 
    int opccion = menu(); 
    return 0; 
} 
関連する問題