2016-11-18 2 views
2

Hey Ich bin neu in C++ und ich muss eine Benutzereingabe die Zahl, und welche Nummer diese Person wählt (1-5) wird sie in den Bereich senden das entspricht dieser Zahl. Ich weiß nicht wirklich, wie ich das machen soll. Kann mir also jemand zeigen oder mir sagen, was ich tun soll? Fühlen Sie sich frei, irgendwelche Fragen zu stellen. Vielen Dank!Wie man einen Benutzer drückt einen Schlüssel in einem C++ Programm

-Code unten:

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: Jetzt bekomme ich diese Fehlermeldung „Anweisung kann nicht Adresse der Überlastfunktion lösen“ kann mir jemand sagen, wie man es beheben? Danke

+2

Klingt wie Sie könnten ein [gutes C++ Buch] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – NathanOliver

+1

Sie müssen wissen, wie man 'endl' verwendet. – skrtbhtngr

+0

Es gibt sehr wenig Programm, das einen Benutzer zwingen kann, eine Taste zu drücken. drohen, ihre Bankkonten zu löschen, denke ich. – user4581301

Antwort

0

Verwenden Sie "cin" erhalten Sie das Pressezeichen.

char ch; 

cin >> ch; 

Nun hat ch varriable das gedrückte Zeichen. Sie können damit alle Datentypen eingeben.

+2

Dies wird nichts erhalten, bis die Eingabetaste gedrückt wird, und dann wird alles nach dem ersten Schlüssel im Eingabepuffer belassen. Ich würde eher ['std :: getline '] empfehlen (http://en.cppreference.com/w/cpp/string/basic_string/getline). –

+0

Das ist eine andere gute Lösung. Danke mate :) – rodelarode

0

Verwenden Sie cin, um die Eingabe zu übernehmen, und wechseln Sie dann zum Aufrufen entsprechender Funktionen.

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

Hier ist ein Skript, die Ihnen zeigen helfen sollten, was Sie tun müssen:

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"; 
    }; 
}; 

nur eine Randnotiz, die endl Befehl in cout geleitet werden soll, nicht als eigenständige verwendet Erklärung.

EDIT: Die Funktionen, die ich verwendete, sind einfach Platzhalter, ich wollte zeigen, wie Sie den Code in den Schalter verwenden würden. Auch, fühlen Sie sich frei, dieses zu verwenden :)

+0

Ungültige Eingabe führt zu einer Endlosschleife. –

+0

@Fred Hoppla, ich habe vergessen zu brechen 'default:' – Creep2DJ

+0

Macht nichts. 'Pause' wird nicht helfen. –

Verwandte Themen