Erstellen eine Interaktive Eingabeaufforderung in C++

Ich habe ein Programm, das Lesen sollte-Befehle aus der Konsole und je nach Befehl führen Sie eine von mehreren Aktionen. Hier ist was ich habe, so weit:

void ConwayView::listening_commands() {
    string command;

    do {
        cin >> command;

        if ("tick" == command)
        {
            //to do
        }
        else if ("start" == command)
        {
            //to do for start
        }
        ...

    } while (EXIT != command);
}

Mit einem switch an die Stelle der if Aussagen hilft ein wenig, wenn es eine große Menge von Befehlen. Welche Muster haben Sie vorschlagen, um die interaktive Kommandozeile?

  • command-pattern?
  • Wie vorgeschlagen. Durch die Art und Weise haben Sie, um eine Liste aller verfügbaren Befehle irgendwo.
  • Es ist nicht zuverlässig zu haben ein switch-case bedeutet, dass string-Vergleiche. String vergleicht getan werden sollte mit strcmp oder ähnliches
InformationsquelleAutor Dima00782 | 2012-11-12
Schreibe einen Kommentar