Wörterbuch programmieren ?!?!?!



  • Die Woerter wuerde ich in eine Datenbank abspeichern. sqlite oder noch besser, eine lib nehmen die fuer alle SQL-Datenbanken geeignet ist.

    Das schwerste an einem Woerterbuch ist ja nicht das Programmieren, sondern die Woerter in die Datenbank einzugeben.

    Du koenntest auch das RFC2229 benutzen und so die Datenbank von Dictionary Servers benutzen. Z.b. http://www.dict.org/bin/Dict
    (ich wusste auch bis jetzt noch gar nicht das es sowas gibt.)



  • @DEvent, das wäre für Bakuer eventuell etwas viel für den Anfang, vielleicht wäre eine Text-Datei doch erstmal besser. Aber die Seite ist cool, wusste ich auch noch nicht 🙂



  • Ungefähr mehr als 2000 Wörter ....
    Ich hab' schon alle Wörter in Word-Datei eingetippt , kann man irgendwie Word-Datei durchlafen lassen und passendes Wort herausfinden ? Könnt ihr einen Tipp geben wie man es machen soll ?



  • du kannst dateien zum Beispiel mit Hilfe von fstream ein-/auslesen.

    mfg kaffee



  • In einer Word-Datei bringt dir das nichts. Word speichert viel Zeichen zur
    Formatierung des Textes usw. mit. Nimm eine einfache Txt-Datei her!



  • DEvent schrieb:

    Die Woerter wuerde ich in eine Datenbank abspeichern. sqlite oder noch besser, eine lib nehmen die fuer alle SQL-Datenbanken geeignet ist.

    Das schwerste an einem Woerterbuch ist ja nicht das Programmieren, sondern die Woerter in die Datenbank einzugeben.

    Das kommt auf den Verwendungszweck an. Bei einem Backend für eine Schnittstelle wie du sie hier verlinkt hast, ist eine Datenbank ganz günstig. Für andere Zwecke, speziell wenn man mit dem Wörterbuch im Programm arbeiten will, bieten sich Automaten oder lernfähige HMMs eher an. Ohne zu wissen wozu der ganze Spaß gemacht werden soll, kann man da definitiv nichts sinnvolles dazu sagen. Aber eines steht hier denke ich wohl fest: für Bakuer ist das alles absolut nichts ...
    Eine einfache Wörterliste mit mehreren zehntausend Einträgen zu erstellen ist nebenbei auch nur eine Sache von maximal wenigen Minuten.

    Bakuer schrieb:

    Ich hab' schon alle Wörter in Word-Datei eingetippt , kann man irgendwie Word-Datei durchlafen lassen und passendes Wort herausfinden ? Könnt ihr einen Tipp geben wie man es machen soll ?

    Ja, du drückst einfach Strg+F, gibst das gesuchte Wort ein und drückst Enter. Im Anschluss kannst du unter http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Word97-2007BinaryFileFormat(doc)Specification.pdf eine kleine Gute-Nacht-Lektüre herunterladen und lesen, welche dir eine Erkenntnis bringen sollte 😉
    Mit dieser Erkenntnis schließlich kopierst du alle deine Wörter in eine einfache Textdatei und liest sie mit den genannten Standardmethoden von C++ aus und gut ist.



  • Bakuer schrieb:

    Ungefähr mehr als 2000 Wörter ....
    Ich hab' schon alle Wörter in Word-Datei eingetippt , kann man irgendwie Word-Datei durchlafen lassen und passendes Wort herausfinden ? Könnt ihr einen Tipp geben wie man es machen soll ?

    was für eine art wörterbuch wird das, sowas wie ein duden, oder ein übersetzungs-wörterbuch ?

    dem entprechend könntest du dir deine datentypen, welche die datenstruktur zum abspeichern repräsentieren, überlegen.

    du kannst die datei im textformat abspeichern und dann einlesen.



  • Sorry, dass ich so viele Frage stelle , aber ich kapiere eins net 😡 , stellen wir vor dass unser Programm alle Wörter durch geht , also ganze *.text und findet gesuchtes Wort , und wie gibt er übersetzung von diesem Wort ? 😕
    z.B wenn man in Babylon "hören" auf Deutsch schreibt , kriegt man auf Englisch "listen" zurück ..... 🙄
    P.S ich will was ahnliches wie Babylon programmieren, aber bissle klein und nur mit einem Bibliothek , z.B Deutsch-Englisch ...
    Ich bedanke mich bei euch für eure Antworten 👍



  • Bakuer schrieb:

    ...stellen wir vor dass unser Programm alle Wörter durch geht , also ganze *.text und findet gesuchtes Wort , und wie gibt er übersetzung von diesem Wort ? 😕 ...

    na, das muss doch irgendwo gespeichert sein. in irgnend einer datei muss z.b. stehen
    <Suchwort>
    <Übersetzung 1>
    <Übersetzung 2>
    .
    .
    .
    <Redewendung 1> // eventuell
    <Redewendung 2>
    <Redewendung 3>
    .
    .
    .
    <Zusammensetzung 1> // eventuell
    <Zusammensetzung 2>
    <Zusammensetzung 3>

    .
    .
    .
    <Suchwort-Ende>

    konkret:
    // Datei Deutsch-English.txt
    .
    .
    .
    <hören>
    <listen>
    <hear>
    .
    .
    .
    <hören - ende>
    .
    .
    .

    Um die Datein da rein zu bekommen, kannst du:
    - alles selbst eintipppen
    - bestehende wörterbücher importieren
    - einen wörterbuch-client programmieren
    http://en.wikipedia.org/wiki/DICT_client



  • Könnte man etwa so machen:

    enum Language
    {
    	GERMAN,
    	ENGLISH,
    	FRENCH
    };
    
    struct Word
    {
    	int id; // Worte mit der gleichen Bedeutung haben die gleiche id
    	Language lang;
    	std::string text;
    };
    
    std::vector<Word> dictionary;
    

    Du musst dann nur noch die entsprechenden Suchfunktionen implementieren 😉

    Im file kannst du die Daten so speichern:

    text    lang  id
    ----------------
    öffnen  0     0
    open    1     0
    ouvrir  2     0
    reden   0     1
    speak   1     1
    parler  2     1
    


  • Da kannst dann gleich eine map< pair<int,int>, string> nehmen. Also eine map die als Schlüssel eine Kombination aus id und Sprache hat und als Wert das Wort.


Anmelden zum Antworten