Befehlseingabe



  • Ich suche nach einer Möglichkeit, mit der der Benutzer nach dem Programmstart durch selber festgelegte Befehle einzelne Funktionen des Programms abrufen kann.
    Wie kann man sowas in C++ realisieren. Kennt jemand einen Link wo man sich in diese Thematik einlesen kann??

    Zusätzlich sollte es noch möglich sein das der Benutzer selbsständig gewisse Paramter setzt.

    Danke für eure Antworten.



  • Hm?

    #include <iostream>
    
    void bla() {/*...*/}
    void blub() {/*...*/}
    
    int main()
    {
        std::cout << "Bitte waehlen Sie eine Option aus:\n";
        std::cout << "a) bla\nb) blub";
        char c;
        c = std::cin.get();
        switch(c)
        {
        case 'a': bla(); break;
        case 'b': blub(); break;
        default: std::cout << "Sauerei.";
        }
        return 0;
    }
    


  • ja danke das würde so funktioneren.

    Besser wäre es allerdings wenn die Benutzereingabe direkt über funktionen läuft.
    also der Benutzer gibt direkt z.b

    blabla( var1, var2)
    

    mit den Parametern in Klammer ein. Hat da irgendjemand eine idee??



  • Das Programm wird nämlich nur von Benutzern verwendet die diese Funktionen kennen



  • Bau dir ne DLL, hau da deine Funktionen rein, lass den Benutzer einen string eingeben und hole dir dann mit dem string die Funktion aus der DLL.



  • Oder Du baust Dir eine Map mit Strings zu Funktionszeigern, parst die Eingabe entsprechend und übergibst den Kram dann. Erfordert natürlich, dass die Funktionszeiger vorher in die Map gesetzt werden. Dynamischer ist 314159265358979s Lösung.

    Wofür brauchst Du das denn?



  • Ich habe ein ziemlich großes Programm, bei dem allerdings oft nur bestimmte Funktionen durchlaufen werden müssen. Abhängig vom anwendungszweck gibt es in diesen funtktionen noch parameter die vom benutzer festgelegt werden.

    Wo könnte man sich in die Möglichkeit mit DLL einlesen?
    hab noch nicht so oft damit gearbeitet


Anmelden zum Antworten