2017-11-20 1 views
0

GelöstC++ Konsole nicht Tastatureingaben unter

Ich verwende Microsoft Visual Stuido 2017 und eine Grundkonsole Utility-Programm aufgebaut. Bei Verwendung des Debug-Modus (F5) funktioniert alles einwandfrei. Dann entschied ich mich für Batch-Build und sehe, ob ich die .exe ausführen könnte. Die .exe startet meine Begrüßungsnachricht und begrüßt mich sogar mit einem blinkenden Cursor, akzeptiert aber keine Tastatureingaben. Ich versuche zufällige Buchstaben auf meiner Tastatur zu drücken und keine kommen auf; seltsam, obwohl alt + F4 funktioniert, so ist meine Tastatur wahrscheinlich nicht das Problem. Ich bin ehrlich gesagt hundertprozentig ahnungslos, was es sein könnte. Es sollte beachtet werden, dass sich mein Speicherort in einigen Punkten unterscheidet. Könnte es ein Problem mit meinem System und nicht mit dem Programm sein?

Screenshot

Ich habe Iostream und andere geeigneten C++ Standardbibliotheken durch meine Header-Dateien enthielten

int main() { 
    cout << "Welcome to FTC console commands" << endl 
     << endl << "Please enter a command or 'HELP' for help" << endl 
     << "You can exit at anytime by typing 'EXIT'" << endl; //Welcome 

    while (true) { //main loop 

     league1 = load(); 

     string Input; //Input 
     cin >> Input; 

     system("CLS"); 

     if (Input == "EXIT") break; //Checking where to go depending on Input 
     else if (Input == "ADD_MATCH") addMatch(league1); 
     else if (Input == "ADD_TEAM") addTeam(league1); 
     else if (Input == "HELP") help(); 
     else if (Input == "RANK") rankings(league1); 
     else if (Input == "SAVE") save(league1); 
     else cout << "Invalid Input... try again or see 'HELP'" << endl; 
    } 
    return 0; 
} 
+0

Sie könnten einen Haltepunkt auf der IDE setzen und sehen, was schief läuft. Sie können aber auch 'cout << Eingabe << endl;' nach der 'cin >>' Anweisung machen. Beim Debuggen bitte auch das System ("CLS") auskommentieren. Es ist wahrscheinlich, dass dies der klare Bildschirm ist, den Sie sehen. –

+0

Ich habe ein Bild hinzugefügt, das hätte ich am Anfang machen sollen. Wenn ich die Tasten drücke, erscheinen sie nicht in der Konsole. Es ist so, als würde ich überhaupt keine Tasten drücken. – Math0898

+0

Was ist 'load()'? Sie sehen, dass diese Mystery-Funktion vor 'cin' aufgerufen wird und wer weiß, was diese Funktion macht. – PaulMcKenzie

Antwort

0

load(); eine Datei wurde Referenzierung, die nicht existierte, so dass selbst wenn es seine eigenen gemacht Es fehlte die Fußzeile, die ich definiert hatte, und es hörte nicht auf, das Dokument zu lesen. Einfach das zu ladende Dokument erstellt und die Fußzeile hinzugefügt.