Vokabeltrainer in C#
Hi
Ich habe habe eine große bitte und zwar muss ich einen Vokabeltrainer machen. Eingabe und Ausgabe habe ich schon. Nur jetzt fehlt mir, dass er die gespeicherten Wörter aus einer Datei lädt...
Ich sitz da schon ein paar Stunden daran aber ich komm da einfach nicht weiter.
Kann mir da jemand helfen? Laden sollte genauso auf die Art sein wie Eingabe und Ausgabe (mit ->head usw.).
Wäre super nett, bin schon ein wenig verzweifelt
Ich habe habe eine große bitte und zwar muss ich einen Vokabeltrainer machen. Eingabe und Ausgabe habe ich schon. Nur jetzt fehlt mir, dass er die gespeicherten Wörter aus einer Datei lädt...
Ich sitz da schon ein paar Stunden daran aber ich komm da einfach nicht weiter.
Kann mir da jemand helfen? Laden sollte genauso auf die Art sein wie Eingabe und Ausgabe (mit ->head usw.).
Wäre super nett, bin schon ein wenig verzweifelt
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
#include "VKT.h"
void main (void)
{
int ant;
char vokabel[30], fn[30];
DV* Vokabelliste = NULL;
while (ant = menu())
{
switch (ant)
{
case 1:
puts ("Bitte deutsche Vokabel eingeben (Ende mit ENTER)");
gets (vokabel);
while (strlen(vokabel))
{
Vokabelliste = DEinfuegen (Vokabelliste, vokabel);
puts ("Bitte englische Vokabel eingeben (Ende mit ENTER)");
gets (vokabel);
while (strlen(vokabel))
{
Vokabelliste->ehead = EEinfuegen (Vokabelliste->ehead, vokabel);
gets (vokabel);
}
puts ("Bitte deutsches Vokabel eingeben (Ende mit ENTER)");
gets (vokabel);
}
break;
case 2:
printf ("\nBitte Dateinamen eingeben: ");
gets (fn);
break;
case 3:
Vokabelliste = Laden (Vokabelliste, fn);
break;
case 4:
Sichern (Vokabelliste, fn);
break;
case 5:
Ausgabe (Vokabelliste);
break;
case 6:
break;
}
}
}
int menu (void)
{
int ant;
printf ("\t\t*** Vokabeltrainer ***\n\n");
puts (" 0 ... Ende");
puts (" 1 ... Vokabel eingeben");
puts (" 2 ... Dateinamen festlegen");
puts (" 3 ... Vokabel aus Datei laden");
puts (" 4 ... Vokabel in Datei sichern");
puts (" 5 ... Vokabelliste ausgeben");
puts (" 6 ... trainieren");
scanf ("%d", &ant);
flushall ();
return ant;
}
DV* DEinfuegen (DV *VKL, char *vok)
{
DV* hp;
hp = (DV*) malloc (sizeof (DV));
strcpy (hp->DVok, vok);
hp->zaehler = 0;
hp->dnext = VKL;
hp->ehead = NULL;
return hp;
}
EV* EEinfuegen (EV *VKL, char *vok)
{
EV* hp;
hp = (EV*) malloc (sizeof (EV));
strcpy (hp->EVok, vok);
hp->enext = VKL;
return hp;
}
void Ausgabe (DV *VKL)
{
EV* ehp;
while (VKL)
{
printf ("%s,%d\n", VKL->DVok, VKL->zaehler);
ehp = VKL->ehead;
while (ehp)
{
printf ("\t%s\n", ehp->EVok);
ehp = ehp->enext;
}
VKL = VKL->dnext;
}
}
DV* Laden (DV *VKL, char *file)
{
return VKL;
}
void Sichern (DV *VKL, char *file)
{
FILE *fp;
EV* ehp;
fp = fopen (file, "w");
while (VKL)
{
fprintf (fp, "%s,%d\n", VKL->DVok, VKL->zaehler);
ehp = VKL->ehead;
while (ehp)
{
fprintf (fp, "\t%s\n", ehp->EVok);
ehp = ehp->enext;
}
VKL = VKL->dnext;
}
fclose (fp);
}
void Trainieren (DV *VKL)
{
}
|
Ok.
Ich kenne nicht die Struktur DV, aber sollte auch ohne gehen.
Laden kannst du ähnlich wie speichern (void Sichern).
Statt printf nimmst du aber fscanf. Funktioniert genauso wie printf, nur halt "umgekehrt":
War das dein Problem?
btw, der code den ich getippt habe muss nicht unbedingt compilierbar sein, hab schon länger nichts mehr mit C99 machen müssen
Ich kenne nicht die Struktur DV, aber sollte auch ohne gehen.
Laden kannst du ähnlich wie speichern (void Sichern).
Statt printf nimmst du aber fscanf. Funktioniert genauso wie printf, nur halt "umgekehrt":
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 |
FILE *fp; const char *pstrText = "TestText"; char arrcReadedText[9]; fp = fopen (file, "w"); fprintf (fp, "%s", pstrText); //Speichert "TestText" als String in die Datei rewind (fp); //"Zurückspulen" fscanf(fp, "%s", &arrcReadedText[0]); //arrcReadedText ist jetzt "TestText" |
War das dein Problem?
btw, der code den ich getippt habe muss nicht unbedingt compilierbar sein, hab schon länger nichts mehr mit C99 machen müssen
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
Blog
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »silence« (13. März 2008, 21:29)
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include
#include
#include
#include
#include
typedef struct _DV
{
char DVok[30];
int zaehler;
struct _DV *dnext;
struct _EV *ehead;
} DV;
typedef struct _EV
{
char EVok[30];
struct _EV *enext;
} EV;
int menu (void);
DV* DEinfuegen (DV*, char*);
EV* EEinfuegen (EV*, char*);
void Ausgabe (DV*);
DV* Laden (DV*, char*);
void Sichern (DV*, char*);
void Trainieren (DV*);
|
das ist meine include datei mit dem struct...
ok danke, auf diesen code bin ich iwie ned gekommen xD
ähm kannst du mir auch sagen wie laden geht? ok speichern hab ich auch so geschafft wie du es gemacht hast aber laden...?!
wäre super
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Super_Frettchen« (13. März 2008, 22:33)
Hab ich doch beschrieben, mit fscanf kannst du laden.
Das funktioniert analog zum Speichern, d.h. wenn du eine Datei erstellst mit dem inhalt
int
int
float
char[50]
char[20]
short
dann musst du das natürlich auch in der Reihenfolge wieder lesen.
Das funktioniert analog zum Speichern, d.h. wenn du eine Datei erstellst mit dem inhalt
int
int
float
char[50]
char[20]
short
dann musst du das natürlich auch in der Reihenfolge wieder lesen.
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
Blog
Ähnliche Themen
-
Allgemeines Forum »-
vokabeltrainer latein
(30. September 2007, 18:42)
-
PHP »-
Webseiten multilingual gestalten?
(30. Juni 2007, 12:17)
-
Archiv: Software »-
Wer hat erfahrung mit Phase6!
(11. Dezember 2004, 14:47)
-
PHP »-
Einfaches php Script was Text umschreibt
(23. Mai 2004, 17:52)
-
Plauder Forum »-
Wie lernt ihr Französisch-wörter?
(19. März 2003, 17:47)


