Problem mit Übersetzungs Programm



  • Bassmaster schrieb:

    ok thx aber was bedeutet das wort implizite 😕

    Ganz einfach: Siehst Du in CStolls Code ein "return 0;" (außer im Kommentar) ?

    Wikipedia schrieb:

    Implizites Wissen ... bezeichnet ... solche Kenntnisse oder Fähigkeiten, die nicht explizit formuliert sind...

    Hier also:

    int start() {
    //...
       return 0; // <- explizit formuliert: "start soll 0 zurückgeben"
    }
    
    int main() {
       // <- was soll main zurückgeben ? Standard sagt: "Wenn nichts explizit formuliert ist, dann soll main 0 zurückgeben".
       // Ergo: "implizites return 0"
    }
    

    Das sagt der Standard NUR über main !

    Gruß,

    Simon2.



  • ok thx

    und was heisst jetzt explizit 😮

    naja egal ich hab den Sinn aufjedenfall verstanden was CStoll mir gesagt hat 🙂



  • "explizit" ist das Gegenteil von implizit - du mußt direkt im Code angeben, was du willst (bei einer "normalen" Funktion muß z.B. irgendwo ein 'return wert;' stehen).



  • ok thx

    hab eine neue frage 🙄

    wie kann ich machen das man die frage so beantworten kann:

    ein projekt muss fertig werden

    also ohne diese striche _

    due:
    cout<<"a project is due = ";
    cin>>g;
    
    if (g=="ein_projekt_muss_fertig_werden")
    {
    system("CLS");
    cout<<"\n";
    cout<<"richtig a project is due = ein projekt muss fertig werden\n";
    }
    
    else
    {
    cout<<"\n";
    cout<<"falsch ! a project is due bedeutet nicht "<<g<<"\n";
    cout<<"\n";
    goto due;
    }
    


  • Du könntest getline() zum Einlesen verwenden, das nimmt auch alle Leerzeichen mit, die es findet (op>> betrachtet Leerzeichen als Ende der Eingabe).

    PS: Wenn du auf diese Weise alle möglichen Vokabeln abfragen willst, wünsche ich dir viel Spaß 😃 Das wird am Ende ein gigantisches Programm aus lauter (abgesehen von den eingetragenen Strings) identischen Mini-Blöcken besteht - und reichlich unflexibel.



  • Wie geht das denn genau mit dem getline();

    irgendwie versteh ich das net 😞

    ps.

    In mein Programm kommen nur 10 oder 11 Vokabeln^^



  • Bassmaster schrieb:

    Wie geht das denn genau mit dem getline();

    irgendwie versteh ich das net 😞

    Ersetze mal das "cin>>g;" durch "getline(cin,g);" (und lass dir von deinem Leerbuch oder der Compiler-Doku erklären, was getline() macht)

    In mein Programm kommen nur 10 oder 11 Vokabeln^^

    noch... (und selbst bei 10 oder 11 Wiederholungen des selben Codes wird das Ergebnis grauenhaft und unflexibel)



  • ok thx

    hast du vielleicht ein beispiel wie man das besser lösen kann das das nicht so unübersichtlich ist ?



  • typedef std::map<std::string, std::string> dictionary;
    dictionary german_to_english;
    
    german_to_english["unnützes"] = "useless";
    german_to_english("kleines"] = "small";
    german_to_english["programm"] = "program";
    
    std::cout << german_to_english["kleines"];
    

    wobei man so einfach kein funktionierendes übersetzungsprogramm schreibt. es gibt keine eindeutigen 1:1 übersetzungen, aber das weißt du sicher selbst.



  • wobei man so einfach kein funktionierendes übersetzungsprogramm schreibt. es gibt keine eindeutigen 1:1 übersetzungen, aber das weißt du sicher selbst.[/quote]

    Das es keine eindeutige übersetzung gibt ist klar.

    Thx für eure hilfe 🙂


Anmelden zum Antworten