2016-11-18 26 views
2

ちょっと私はC++を使い慣れていないので、ユーザーが数字を入力させる必要があり、その人が選択した番号(1-5)その番号に対応しています。私はそれをする方法を本当に知らないので、誰も私を見せたり、何をすべきか教えてもらえますか?お気軽に質問してください。ありがとう!以下C++プログラムでユーザーがキーを押す方法を教えてください

コード:

cout << "1.Input New Employee"; endl; 
cout << "2.Search For Employee By ID Number"; endl; 
cout << "3.Edit Existing Employee Information"; endl; 
cout << "4.Display all Employees"; endl; 
cout << "5.EXIT";endl; 

P.S:今、私は、このエラーメッセージが表示されます「オーバーロード関数のアドレスを解決できないステートメントは、」誰がどのようにそれを修正するために私を伝えることができますか?ありがとう

+2

[良いC++ブック](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – NathanOliver

+1

'endl'の使い方を知っている必要があります。 – skrtbhtngr

+0

ユーザーが強制的にキーを押すプログラムはほとんどありません。彼らの銀行口座を削除すると脅しているようです。 – user4581301

答えて

0

"cin"を使用してプレス文字を取得します。

char ch; 

cin >> ch; 

ここで、ch varriableには押された文字があります。これを使用してすべてのデータ型を入力できます。

+2

Enterキーが押されるまでは何も表示されず、最初のキーの後にあるものは入力バッファーに残ります。すぐに['std :: getline'](http://en.cppreference.com/w/cpp/string/basic_string/getline)をお勧めします。 –

+0

それは別の良い解決策です。ありがとうございます^ – rodelarode

0

cinを使用して入力を受け取り、対応する関数を呼び出すように切り替えます。ここで

int choice; 
cin>>choice; 
switch(choice) 
{ 
    case 1 : //your code; 
      break; 
    case 2 : //your code; 
      break; 
    /* rest of your cases */ 
} 
1

は、あなたが何をする必要があるかをお見せ役立つはずスクリプトです:

bool loop = true; 
while(loop){ 
    cout << "What do you want to do?\n"; 
    cout << " 1 - Input New Employee\n"; 
    cout << " 2 - Search for Employee By ID Number\n"; 
    cout << " 3 - Edit Existing Employee Information\n"; 
    cout << " 4 - Display All Employees\n"; 
    cout << " 5 - EXIT\n"; 
    cout << "Your selection: "; 
    string select; getline(cin, select); 
    cout << "/n"; 
    try { 
     switch(stoi(select)){ 
      case 1: 
       employeeInput(); // Sample code 
       break; 
      case 2: 
       employeeIDSearch(); // Sample code 
       break; 
      case 3: 
       employeeInfoEdit(); // Sample code 
       break; 
      case 4: 
       employeeDisplayAll(); // Sample code 
       break; 
      case 5: 
       loop = false; // Exit loop 
       break; 
      default: 
       cout << "Invalid Input.\n\n"; 
       break; 
     }; 
    }; 
    catch(const std::exception& ex){ 
     cout << "Invalid Input.\n\n"; 
    }; 
}; 

ただ、サイドノート、endlコマンドはcoutにパイプされることを意図して、スタンドアロンとして使用されていませんステートメント。

EDIT:私が使用した機能は単にプレースホルダですから、スイッチでどのようにコードを使用するのかを示したかったのです。また、これを自由にお使いください:)

+0

無効な入力は無限ループになります。 –

+0

@Fredおっと、私は 'default: 'を破り忘れました – Creep2DJ

+0

は関係ありません。 '休憩 'は役に立たない。 –

関連する問題