C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Vokabeltrainer in C++

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
N.Christiansen@web.de
Guest





PostPosted: Wed Jun 01, 2005 12:59 pm    Post subject: Vokabeltrainer in C++ Reply with quote



Hallo NG,

ich muss in meinem Studium einen Vokabeltrainer in C++ programieren.
Leider habe ich jedoch noch nicht ausreichent Erfahrung um ein solche
Programm von Grund auf auszubauen. Deswegen suche ich
nach, einem Quellcode für einen Vokabeltrainer der in C++ programiert
worden ist. Der Trainer soll die Vokabel aus einer Texdatei lesen
könne und zufällig abfragen können.

Wenn einer von euch ein solchen Pragamm schon einmal geschieben hat
oder ein einfach einen guten Link im hat, bei dem ich zu diesem Thema
eine Hilgfestellung bekommen könnte, währe ich sehr dankbar.

Nils Christiansen

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Andreas Volz
Guest





PostPosted: Wed Jun 01, 2005 3:33 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote



Am 1 Jun 2005 05:59:24 -0700 schrieb [email]N.Christiansen (AT) web (DOT) de[/email]:

Quote:
Hallo NG,

Hi,

Quote:
ich muss in meinem Studium einen Vokabeltrainer in C++ programieren.
Leider habe ich jedoch noch nicht ausreichent Erfahrung um ein solche
Programm von Grund auf auszubauen. Deswegen suche ich
nach, einem Quellcode für einen Vokabeltrainer der in C++ programiert
worden ist. Der Trainer soll die Vokabel aus einer Texdatei lesen
könne und zufällig abfragen können.

Wenn einer von euch ein solchen Pragamm schon einmal geschieben hat
oder ein einfach einen guten Link im hat, bei dem ich zu diesem Thema
eine Hilgfestellung bekommen könnte, währe ich sehr dankbar.

Ich kann dir jetzt nicht mit Quellcode dienen, aber vielleicht ein paar
Tips geben. Es ist erst mal eine ganz schlechte Idee, gerade wenn man
wenig Erfahrung hat. ein bereits bestehendes Programm verstehen zu
wollen. Wenn du den Quellcode einfach kopieren und als deinen ausgeben
möchtest, dann wird dein Prof das nach nur wenigen Fragen merken, glaub
es mir! Wenn du hoffst aus dem Quellcode zu lernen, so halte ich das
ohne Programmiererfahrung auch für relativ schwer. Dein Problem hängt
auch nicht direkt mit C++ zusammen. Eher geht es darum zu verstehen wie
man ein solches Projekt realisiert, die Sprache ist nebensächlich. Löse
erstmal die Designfragen und dann gehe in die Details der jeweiligen
Programmiersprache.

Um dir einige Denkanstöße zu geben beantworte dir mal folgende Fragen:

- Soll das Programm eine GUI haben oder rein Konsolenanwendung?

Eine reine Konsolenanwendung ist relativ schnell erstellt. Bei einer
GUI-Anwendung wird das etwas komplizierter, wenn man mit der Nutzung des
jeweiligen GUI-Toolkits noch nicht vertraut ist.

- Sind die Vokabeldaten neu zu erfassen oder sollst/darfst du auf
bestehende Daten zurückgreifen?

Wenn auch neue Vokabeln eingefügt werden müssen, dann braucht dein
Programm nicht nur einen Modus um auszulesen, sondern auch einen um neue
Vokabelpaare zu speichern.

- Wie hoch ist die zu erwartende Zahl an Vokabeln?

Bei einer hohen Zahl von Vokabeln könnte es sich evtl lohnen diese in
einer Datenstruktur zu verwalten die effektives Suchen ermöglicht. Aber
ich denke das wird nicht der entscheidende Punkt bei dem
Beispielprogramm sein.

- Sollen nur genaue Treffer gelten oder auch "ähnliche".

Ja, da muss man drüber nachdenken. Wenn ich z.B. "a book" übersetzen
soll und den kleinen Fehler mache das mit "Buch" oder gar "buch" zu
übersetzten, dann ist das ein Problem. Das Programm sollte also Treffer
die (in jetzt nicht näher definierter Form) "ähnlich" sind auch als
Richtig werten oder zumindest den Tip "ist fast richtig" geben. Das
Stichwort dazu heißt: Regex. So würde ich das jedenfalls angehen. Ich
denke auch dieser Punkt wird zu viel Arbeit kosten, aber vielleicht
willst du ja später daran weiter entwickeln...

Das ist was mir so einfällt. Bestimmt gibt es noch ganz andere Ideen.
Bin mal gespannt was noch so kommt.

Gruß
Andreas

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Karl Heinz Buchegger
Guest





PostPosted: Wed Jun 01, 2005 4:08 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote



[email]N.Christiansen (AT) web (DOT) de[/email] wrote:
Quote:

Hallo NG,

ich muss in meinem Studium einen Vokabeltrainer in C++ programieren.
Leider habe ich jedoch noch nicht ausreichent Erfahrung um ein solche
Programm von Grund auf auszubauen. Deswegen suche ich
nach, einem Quellcode für einen Vokabeltrainer der in C++ programiert
worden ist. Der Trainer soll die Vokabel aus einer Texdatei lesen
könne und zufällig abfragen können.

Zerlege das Problem in Teile die du loesen kannst.
Vergiss mal den Teil mit zufaellig abfragen und statistisch auswerten und ...
und konzentrier dich nur darauf eine Datei einzulesen.

Wie muesste so eine Datei aussehen, d.h welche Information brauchst
Du um daraus letzendlich die Applikation zu generieren. Nun, die Datei
wird wahrscheinlich 2 Spalten haben muessen: Eine fuer das Wort in Deutsch
eine fuer das Wort in der Fremdsprache.

zb:

Haus house
Hund dog
Katze cat

Gut. Da gilt es jetzt mal etwas zu klaeren: Woran erkennt man wo die eine
Spalte aufhoert und die zweite beginnt. Denk dir was aus! Du koenntest zb.
ein spezielles Zeichen als Trenner dafuer vorsehen. Oder du koenntest sagen,
dass die erste Spalte immer von Position 0 bis 20 geht und die zweite von 21
bis zum Ende der Zeile. Oder du koenntest annehmen, dass in deinen Woertern keine
Leerzeichen vorkommen und daher die erste Spalte bis zum ersten Leerzeichen
geht und danach die zweite Spalte anfaengt. Letzteres waere besonders einfach
zu implementieren. Da ich davon ausgehe, dass du kein kommerzielles Pgm schreibst
und das ganze nur eine Uebung ist, wuerde ich dir das empfehlen. Das Eingabefile
sieht dann zb so aus:

Haus house
Hund dog
Katze cat
Tastatur keyboard

Nachdem das geklaert ist, zurueck zum Program.
Wie gesagt, fang mit den Teilen an, die du loesen kannst. Zerleg dir das
Gesamtproblem in Teile, so dass
* du die Teile einzeln angehen kannst
* Du dich um den naechsten Teil erst kuemmern musst, nachdem
du die vorhergehenden Teile geloest hast
* das Gesamtproblem geloest ist, wenn alle Teile geloest sind.

Konkret wuerde ich mich mal damit beschaeftigen, die Datei einzulesen
und das gelesene im Speicher zu speichern. Nicht mehr. Das ist ein
Problemkreis der fuer sich abgeschlossen ist, von nichts anderem abhaengt,
der aber trotzdem geloest werden muss, bevor du irgendetwas anderes machst.
Denn: Wie willst du spaeter den Benutzer nach einem Vokabel fragen, wenn du
sie nicht im Speicher hast? Eben.

Also: Vergiss mal alles ueber Benutzerinteraktion und sonstiges und beschaeftige
dich nur damit die Datei zu lesen, in einer geegneten Datenstruktur im Speicher
zu speichern. Zur Kontrolle gibst du am Ende des Pgms einfach alle gelesenen
Vokabel und deren Uebersetzung aus. Somit hast Du eine einfache Kontrolle ob
das was Du bisher produziert hast auch wirklich funktioniert.

Erst wenn dieser Teil korrekt funktioniert, such in deiner Aufgabenstellung
nach dem naechsten Teil den du loesen kannst.

Also: Dein erstes Zwischenziel lautet: Datei einlesen.
Wenn du damit Schwierigkeiten hast, kannst Du gerne wiederkommen und fragen.
Allerdings solltest du dann schon etwas Code zeigen und konkret sagen wo es
happert.

--
Karl Heinz Buchegger
[email]kbuchegg (AT) gascad (DOT) at[/email]

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Daniel Mück
Guest





PostPosted: Wed Jun 01, 2005 4:14 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

[email]N.Christiansen (AT) web (DOT) de[/email] wrote:

Quote:
Hallo NG,

ich muss in meinem Studium einen Vokabeltrainer in C++ programieren.
Leider habe ich jedoch noch nicht ausreichent Erfahrung um ein solche
Programm von Grund auf auszubauen. Deswegen suche ich
nach, einem Quellcode für einen Vokabeltrainer der in C++ programiert
worden ist. Der Trainer soll die Vokabel aus einer Texdatei lesen
könne und zufällig abfragen können.

Wenn einer von euch ein solchen Pragamm schon einmal geschieben hat
oder ein einfach einen guten Link im hat, bei dem ich zu diesem Thema
eine Hilgfestellung bekommen könnte, währe ich sehr dankbar.

Nils Christiansen

Hallo


Also wenn dir das jemand vorgeben würde, hätte es ja keinen Lerneffekt.
Das musst du schon alleine herrausfinden bzw. Nachschlagen.

Tipp: fstream.h für Dateien
und: http://de.wikibooks.org/wiki/C-Programmierung:_Standard_Header

Daniel

PS: Stellst du das unter die GPL? ^^
--
"Software is like sex; it's better when it's free." Linus Torvald

"Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich
unbeabsichtigter Nebeneffekt sein." Linus Torvald

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Werner Salomon
Guest





PostPosted: Wed Jun 01, 2005 8:17 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

Daniel Mück wrote:
Quote:
Wenn einer von euch ein solchen Pragamm schon einmal geschieben hat
oder ein einfach einen guten Link im hat, bei dem ich zu diesem Thema
eine Hilgfestellung bekommen könnte, währe ich sehr dankbar.

Nils Christiansen

Also wenn dir das jemand vorgeben würde, hätte es ja keinen Lerneffekt.
Das musst du schon alleine herrausfinden bzw. Nachschlagen.
Hallo Daniel,


da stimme ich mit Dir überein. Wobei - hier um Hilfe bitten - wäre ja
auch noch ok.

Quote:

Tipp: fstream.h für Dateien
fstream.h ist veraltet; bitte <fstream> Da wir hier 'ne

ISO-C++-newsgroup sind.
Quote:
und: http://de.wikibooks.org/wiki/C-Programmierung:_Standard_Header
... und das sind C-Header. Da Nils ja explizit C++ erwähnt, würde ich ihm

raten, diese auf keinen Fall zu benutzen. Gerade für Anfänger ist das
nur verwirrend.

Gruß
Werner

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Werner Salomon
Guest





PostPosted: Wed Jun 01, 2005 8:32 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

[email]N.Christiansen (AT) web (DOT) de[/email] wrote:
Quote:
Hallo NG,

ich muss in meinem Studium einen Vokabeltrainer in C++ programieren.
Leider habe ich jedoch noch nicht ausreichent Erfahrung um ein solche
Programm von Grund auf auszubauen. Deswegen suche ich
nach, einem Quellcode für einen Vokabeltrainer der in C++ programiert
worden ist. Der Trainer soll die Vokabel aus einer Texdatei lesen
könne und zufällig abfragen können.

Wenn einer von euch ein solchen Pragamm schon einmal geschieben hat
oder ein einfach einen guten Link im hat, bei dem ich zu diesem Thema
eine Hilgfestellung bekommen könnte, währe ich sehr dankbar.

Nils Christiansen

Hallo Nils,


versuche es doch selber; Denke Dir was aus und wenn Du nicht weiter
kommst, so kannst Du die gewünschte Hilfestellung sicher hier bekommen.

Der Kern des Programms ist doch eine Schleife in der mindestens
folgendes passiert:
- eine zufällige Vokabel anbieten
- Eingabe der Übersetzung
- Prüfe, ob Übersetzung ok und Ausgabe der Prüfung.

... wie würdest Du das machen? Bist Du schon mit std::string und std::cin
vertraut?

Gruß
Werner

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
N.Christiansen@web.de
Guest





PostPosted: Thu Jun 02, 2005 1:55 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

Hallo Andreas,
es handelt sich "nur" um eine Konsolenanwendung. Die Vokable sind mir
in einem Textfilevorgegeben.

Vielen Dank auch an die anderen die geholfen haben!!

Nils Christiansen

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
N.Christiansen@web.de
Guest





PostPosted: Thu Jun 02, 2005 2:04 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

Hallo Werner,
ich habe mir als erstes den ungefähren Aufbau des Programms auf Papier
gezeichnet, ich glaube ich habe alle deine genannten Punke
berücksichtigt.
Die Begriffe std::string und std::cin sind mir ein Begriff, d.h ich
weiß was diese Befehle bewirken. Ich bin mit der ganzen C/C++ Sprache
nicht ,,wirklich" vertraut... naja ich brauche C++ auch nur noch
für dieses Programm. Ab nächstem Semester wird ausschließlich mit
Matlab gearbeitet. An dieser Stelle nochmals Danke an alle!

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Karl Heinz Buchegger
Guest





PostPosted: Fri Jun 03, 2005 9:18 am    Post subject: Re: Vokabeltrainer in C++ Reply with quote

[email]N.Christiansen (AT) web (DOT) de[/email] wrote:
Quote:

Hallo Werner,
ich habe mir als erstes den ungefähren Aufbau des Programms auf Papier
gezeichnet, ich glaube ich habe alle deine genannten Punke
berücksichtigt.
Die Begriffe std::string und std::cin sind mir ein Begriff, d.h ich
weiß was diese Befehle bewirken. Ich bin mit der ganzen C/C++ Sprache
nicht ,,wirklich" vertraut...

Hmm dann hast Du eine harte Zeit vor dir.
Der Rest des Programmes ist nicht weiter schwer:

Strukturen gibt es in jeder Sprache aus dieser Sprachfamilie. Ob
das nun PASCAL, Java oder C++ ist, spielt praktisch keine Rolle.
Ist nur unterschiedliche Syntax, aber das Prinzip ist ueberall dasselbe.

Ein Array aufbauen gibt es auch ueberall. Knifflig ist nur, wenn die
Groesse davon nicht von vorneherein feststeht. Aber davuer gibt es in
C++ eine gute Loesung: Kein Array verewnden sondern einen std::vector.

Daraus eine zufaellige Auswahl treffen, ist auch nicht weiter problematisch.
Diese Auswahl fuer eine Benutzerabfrage benutzen, die Antwort einlesen und
mit der Vorgabe vergleichen sollte auch kein Problem sein. Vor allem wenn man
die richtigen Datentypen dafuer benutzt (Hinweis: std::string statt character
arrays).

Bis hier her ist alles relativ einfach und straight forward.
Der Hammer ist aber die Dateibehandlung. Da kann viel schief gehen.
Eigentlich bin ich der Ansicht, dass jemand der mit Dateibehandlung
anfaengt, mit obigen Punkten keinerlei Schwierigkeiten haben sollte.
Alles andere ist ein relativ sicheres Rezept fuer Chaos. Denn er weiss
dann nicht mehr wo das Problem liegt: Hab ich falsch eingelesen? hab
ich die Werte falsch gespeichert? zeige ich vielleicht was voellig falsches
an? Ist meine Benutzereingabe richtig? Werte ich sie richtig aus?
Das sind 5 Fragen, wo eigentlich nur mehr 1 sein sollte.

--
Karl Heinz Buchegger
[email]kbuchegg (AT) gascad (DOT) at[/email]

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Karl Heinz Buchegger
Guest





PostPosted: Fri Jun 03, 2005 9:21 am    Post subject: Re: Vokabeltrainer in C++ Reply with quote

[email]N.Christiansen (AT) web (DOT) de[/email] wrote:
Quote:

Hallo Andreas,
es handelt sich "nur" um eine Konsolenanwendung. Die Vokable sind mir
in einem Textfilevorgegeben.

Wenn diese Vorgabe sehr umfangreich ist (mehr als ca. 3 bis 4 Eintraege)
umfasst, dann mach dir fuer deine ersten Gehversuche unbedingt ein kleineres
File. Du suchst dich sonst zu Tode! Es macht keinen Sinn die Leseschleife
2000 mal durchzusteppen, wenn es 3 oder 4 mal auch tun um zu sehen ob das
ganze im Prinzip funktioniert.
Erst wenn du denkst, jetzt hast du es, juble dem Pgm wieder die Originaldatei
unter.

--
Karl Heinz Buchegger
[email]kbuchegg (AT) gascad (DOT) at[/email]

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
N.Christiansen@web.de
Guest





PostPosted: Wed Jun 29, 2005 11:17 am    Post subject: Re: Vokabeltrainer in C++ Reply with quote

Hallo,

ich habe es jetzt endlich geschafft der Vokabeltrainer funktioniert!!

Ich werde das Programm in den nächsten Tagen online stellen, den link
werde ich hier bekannt geben. Dann könnt ihr euch über meinen Stiel
kaputtlachen :)

An dieser Stelle nochmals vielen Dank für die Hilfe.

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
Back to top
Marc Neininger
Guest





PostPosted: Wed Jun 29, 2005 7:17 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

[email]N.Christiansen (AT) web (DOT) de[/email] schrieb:

Quote:
Hallo,
Hi,



Quote:
ich habe es jetzt endlich geschafft der Vokabeltrainer funktioniert!!
Glueckwunsch!


Quote:
Ich werde das Programm in den nächsten Tagen online stellen, den link
werde ich hier bekannt geben. Dann könnt ihr euch über meinen Stiel
kaputtlachen Smile
Ich glaube nicht. Programmierung ist nichts, was man in Buechern liest,

versteht und anwendet. Ich programmiere schon eine ganze Weile. Und je
mehr ich mache, desto deutlicher wird mir, wo ich hinmuss.

Linux Kernel. Ist zwar kein ISO cpp, aber ich halte es fuer eine gute
Programmierarbeit. Da will ich mal hin.

Quote:
An dieser Stelle nochmals vielen Dank für die Hilfe.
Falls was von mir dabeiwar: gern geschehen! Ansonsten auf jeden Fall

weiterhin viel Erfolg.

Marc

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Daniel Mück
Guest





PostPosted: Wed Jun 29, 2005 9:54 pm    Post subject: Re: Vokabeltrainer in C++ Reply with quote

[email]N.Christiansen (AT) web (DOT) de[/email] wrote:

Quote:
Hallo,

ich habe es jetzt endlich geschafft der Vokabeltrainer funktioniert!!

Ich werde das Programm in den nächsten Tagen online stellen, den link
werde ich hier bekannt geben. Dann könnt ihr euch über meinen Stiel
kaputtlachen :)

An dieser Stelle nochmals vielen Dank für die Hilfe.

Oh, schön.
Das guck ich mir auch mal an. Steht das unter der GPL?

Daniel
--
"Every good work of software starts by scratching a developer's personal
itch." - Eric Raymond

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.