Eingabe



  • Hi,ich meinte das wenn ich den string eingabe über die tastatur eingebe dann sofort den entsprechenden string aufrufen kann
    z.b
    ich gebe scribere ein davon will ich die übersetzung wissen,das programm ruft inzwischen von alleine ohne if den passenden string dazu auf das wäre der string scribere

    wenn ich jetzt wissen will was ave heisst dann gebe ich ave ein
    und gleichzeitig soll das programm den string ave aufrufen und sagt mir die übersetzung
    aber wie bekomm ich das hin??



  • ich glaub ich weiß was du meinst und ich glaub du solltest dir mal ein richtig gutes C++ zu Gemüte führen.
    so sollte das gehen, was du willst:

    #include <map>
    #include <string>
    #include <iostream>
    using namespace std;
    
    int main () {
        map<string, const char*> m;
    
        m["scribere"] = "schreiben, verfassen";
        m["loqui"] = "sprechen";
        m["avus"] = "Vogel";
        /* etc. */
    
        string eingabe;
        cout << "Geben Sie ein Wort ein: "; cin >> eingabe;
    
        cout << m[eingabe] << endl;
    }
    


  • Vielen Dank



  • Naja hört sich zwar doof an aber ich bin ziemlich neu :

    wie fange ich die fehleingabe ab z.b. wenn jetzt jemand k eingibt mir ist bis jetzt nur try und catch bekannt und irgendwie geht das nicht?

    und wie fange ich eine fehleingebe bei case ab ?????????
    case 1:bla
    case 2 :blabla
    default:
    wenn ich jetzt k oder sonst was eingeb stürtzt das programm immer wieder ab



  • du guckst mit der find methode von map nach ob zu dem string überhaupt ein eintrag exisitiert



  • also in code ausgedrückt

    if (your_map.find(the_word) != your_map.end()) {
       /* Wort gefunden */
    } else {
       /* Wort nicht gefunden */
    }
    

    Aber ich glaub du übernimmst dich als Anfänger damit ein bisschen 😉
    Kauf dir mal ein paar C++ Bücher, unter www.c-plusplus.net gibt's genug zu Auswahl, sogar mit Buchbesprechung 😮



  • ooch hab ich schon aber find ich teilweise ziemlich langweilig deshalb versuch ich lieber eigene programme zu schreiben und mir das wissen so nach und nach anzueignen ,Danke



  • mit C



  • Darko schrieb:

    aber find ich teilweise ziemlich langweilig deshalb versuch ich lieber eigene programme zu schreiben und mir das wissen so nach und nach anzueignen

    Schlechte Idee, Learning by Doing klappt bei C++ nicht so gut. Du kommst sowieso nicht drum herum, Theorie anzuschauen, wenn du die Sprache wirklich lernen willst, also stell dich besser gleich drauf ein.

    P.S.: Ein Fragezeichen reicht, um sich auszudrücken.



  • Darko schrieb:

    ooch hab ich schon aber find ich teilweise ziemlich langweilig deshalb versuch ich lieber eigene programme zu schreiben und mir das wissen so nach und nach anzueignen ,Danke

    Dann solltest du dir vielleicht überlegen, zu einer einfacheren, intuitiveren Sprache wie C# oder so zu wechseln. Da funktioniert das eher, bei C++ wohl nicht. 🙂



  • Oh, vielen Dank für die sinnvollen Antworten! Dann kann ich ja jetzt nach über 6 Jahren weiterproggen! 🙂



  • Darko_offline schrieb:

    Oh, vielen Dank für die sinnvollen Antworten! Dann kann ich ja jetzt nach über 6 Jahren weiterproggen! 🙂

    Das ist ja alles nicht böse gemeint. C++ ist nunmal eine relativ schwere Sprache, bei der eine intensive Lernphase imho unabdingbar ist, wenn man weiterkommen möchte. Und C# ist eine gute Alternative. Ich muss mir auf der Arbeit regelmäßig anhören, wie simpel und intuitiv man meine 20 Zeilen Code doch in C# mit 2 Zeilen abfertigen kann... 😉


Anmelden zum Antworten