Vokabel-Programm



  • ich will ein Programm das so änlich läuft wie Phase 6 schreiben..
    da hab ich leider nur ein problem..
    .. wie kann ich beliebig viele eingaben mit anderen die davor schon
    eingeben wurden vergleichen??

    ein Tip reicht schon..
    😉



  • Die Methode "find" der Klasse string liefert std::string::npos zurück, wenn die Zeichenkette in ihrem Argument nicht gefunden wurde in dem String.
    http://www.cppreference.com/cppstring/find.html

    Ansonsten kann man mit "==" natürlich zwei strings auf Übereinstimmung prüfen.



  • super des klappt jetzt!!

    leider hab ich jetzt a andres problem:
    ich benutz english[100] (erst ma 100)
    un deutsch[100] für die Vokabeln.
    dann generir ich die variable i als zufalls zahl(english[i], deutsch[i])

    jetzt will ich aber das die zahl(i) dann nich mehr generirt wird abba wie mach ich des ???



  • Ich versteh nicht so ganz, was du meinst.
    Allgemein empfiehlt sich bei einem Vokabelprogramm eine std::map <std::string, std::string>, die nimmt einem fast die gesamte Arbeit ab.

    Gruß
    Don06



  • Also ich würde es so machen:
    wenn du i generiert hast (also zufallszahl), dann speichere i in einer anderen variablen ab (z.B. x).
    dann vergleichst du i beim nächsten mal generieren mit x.
    wenn x==i ist, generierst du i nochmal und vergleichst wieder, bis i != x ist.



  • Hi,

    Also ich hatte von einiger Zeit auch mal so ein Vokable Programm für nen Freund gecodet, war halt ne simple Konsolenanwendung, die Folgendes konnte:
    - Vokabeln aufnehmen in einer Liste
    - Train Funktion so das das Programm dich abgefragt hatte (zufällig halt)
    - Übersetzungs Funktionen De -> En und anders rum

    Ich habe das ganze so aufgebaut, dass das Programm beim start eine Liste geladen hat aus ner Text Datei, mit folgender Struktur:
    Deutsches Wort / Englisches Wort
    z.B.
    Katze/cat

    und das alles wurde mit nen Parser in eine Struktur gesichert und in einem list Vektor gesichert. Vorm beenden wurde dann alles in die Datei wieder gesichert und auch die neuen Woerters ect.

    Wenn du dann erst einmal alle Vokabeln geladen hast, ist der rest eigentlich nicht weiter schwer, wie "tipp" es schon beschrieben hat, solltest du eine Zufallszahl generieren lassen ala srand( (int)(time( 0 ) ) );, am besten so von 1 bis 1000 oder 10000, und dann könntest du sagen das wenn die Zahl gerade ist eine deutsche Vokabel ind Englische uebersetzt werden soll, und fuer den anderen Fall halt anders herum.

    Ich hoffe hilft dir erst mal etwas.

    Gruß Tobi.



  • Hi,
    hast du dieses Vokabelprogramm denn vielleicht noch und kannst es mir per Mail schicken?
    Momentan scheiter ich nämlich schon dadran, einfache Wörter auszulesen :-/, da mir kein passender Dateityp bekannt ist...
    Ich habe vor, dabei ein Textdokument als DB zu verwenden, momentan klappt das ganze aber irgendwie nicht.


Anmelden zum Antworten