2buchstaben in einem wort vergeichen und handeln



  • hay liebe forumuser,

    ich habe ein programm das reagiert auf zum beispiel das wort hilfe jetzt möchte ich allerdings auch noch das das programm auf hilfe/h reagiert also sobald das /h dahinter steht das das programm was anderes macht!

    ich dachte mir aufjeden fall irgendwie mit einer if abfrage

    geht das?

    if (Befehl=="/h")
    //hier den der Befehl
    

    Befehl=string variable

    so wenn ich jetzt hilfe /h eingebe würde das einwandfrei funktionieren?

    mfg derdefeckter



  • Geh den string Leerzeichen für Leerzeichen durch, speicher die Argumente ab und stelle dann if-Verzweigungen zu Verfügung, um mehrere Varianten zu haben. Wo ist das Problem?



  • hallo,

    problem aus meiner sicht ist das ich anfänger bin und keine ahnung hatte wie ich es machen sollte danke

    mfg derdefeckter



  • derdefeckter schrieb:

    problem aus meiner sicht ist das ich anfänger bin und keine ahnung hatte wie ich es machen sollte danke

    Dann nimm dir die Doku zur Hand und experimentier. So lernt man am meisten.
    Wenn du darauf baust, immer die Lösung zu erhalten, geht dein Wissenszuwachs nur schleppend voran.

    Die Lösung wurde auch schon genannt: arg-string nach Leerzeichen splitten und in eine Liste (std::vector) packen, oder direkt live parsen (je nach dem was du eigentlich machen willst). Das durchzugehen und auf verschiedene Abfolgen zu reagieren sollte mit der Kenntnis von for/if/else kein größeres Problem darstellen.



  • bekommt man den arg-string nicht eh schon fertig nach Leerzeichen gesplittet mit?



  • zwutz schrieb:

    bekommt man den arg-string nicht eh schon fertig nach Leerzeichen gesplittet mit?

    Ja. Aber ich nehme irgendwie an, dass er zur Laufzeit die Befehle einlesen will.



  • derdefeckter schrieb:

    ich habe ein programm das reagiert auf zum beispiel das wort hilfe

    Also, Du hast ein Programm mit Eingabeaufforderung, wo der Benutzer Befehle wie "hilfe" eingeben kann, ja?

    derdefeckter schrieb:

    jetzt möchte ich allerdings auch noch das das programm auf hilfe/h reagiert also sobald das /h dahinter steht das das programm was anderes macht!

    Dann mach doch. Wo ist das Problem?

    derdefeckter schrieb:

    ich dachte mir aufjeden fall irgendwie mit einer if abfrage
    geht das?

    if (Befehl=="/h")
    //hier den der Befehl
    

    Befehl=string variable
    so wenn ich jetzt hilfe /h eingebe würde das einwandfrei funktionieren?

    Du hast viel zu wenig erklärt und gezeigt, um das beantworten zu können. Wie wird die string-Variable initialisiert? Was bedeutet "einwandfrei funktionieren"? Dazu müsste man wissen, was am Ende rauskommen soll.



  • Er meint wohl

    if(wort == "hilfe")
    {
        if(arg == "/h")
        {
        }
    }
    

    Ich hab ne fertige Lösung für dieses Problem, aber der soll mal schön selbst machen 😃


Anmelden zum Antworten