Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Dabei seit: 18.05.2006

Beiträge: 624

 

1 Zum Seitenanfang

Donnerstag, 13. März 2008, 17:13

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 :D

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)
{
}
 

silence

König

Dabei seit: 28.02.2003

Beiträge: 981

 

2 Zum Seitenanfang

Donnerstag, 13. März 2008, 19:09

Dein Code ist nicht C#, sondern reines C.
Bevor ich dir jetzt einen Tipp gebe: Soll das reines C bleiben, oder C++ werden?
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
 

Dabei seit: 18.05.2006

Beiträge: 624

 

3 Zum Seitenanfang

Donnerstag, 13. März 2008, 19:54

ja habs verwechselt ^^
ja sollte nur in C bleiben
 

silence

König

Dabei seit: 28.02.2003

Beiträge: 981

 

4 Zum Seitenanfang

Donnerstag, 13. März 2008, 21:23

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":


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 :D
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »silence« (13. März 2008, 21:29)

 

Dabei seit: 18.05.2006

Beiträge: 624

 

5 Zum Seitenanfang

Donnerstag, 13. März 2008, 22:04

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)

 

silence

König

Dabei seit: 28.02.2003

Beiträge: 981

 

6 Zum Seitenanfang

Donnerstag, 13. März 2008, 22:36

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.
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
 

Ähnliche Themen