Hallo alle beisammen!
Vielleicht kann mir ja jemand von euch helfen:
Ich möchte einen Vokabeltrainer programmieren, der folgendes können soll:
Bei jedem Start des PCs werden 10 Vokabeln zufällig abgefragt.
Vokabeln zufällig abgefragt. Dazu soll eine Karteikartenmethode
(drei Kästen! - Vokabeln die bekannt sind, wandern von 1 -> 2
- und alls die in 2 sind wandern von 2 -> 3 bzw. "raus")
programmiert werden.
- Die zu lernenden VOlabeln stehen in einer Datei, die mit "Bordmitteln" (Editor, Word, Excel etc.) zu bearbeiten ist.
Ich habe auch schon einen Ansatz, leider komme ich nicht weiter. Ich kann zwar Vokabeln einlesen, aber immer nur 1 Deutsches und 1 Englisches Wort. Kann also nicht alle in einem Array speichern. 2tes Problem ist, dass ich nur Wörter ohne Leerzeichen nehmen kann, da er das Leerzeichen als Trennzeichen benutzt, und dann weiterspringt. Bitte nicht so schwierige Sachen benutzen, da ich noch Anfänger bin.
Hier der Code von mir:
Achja: Die Datei Vok-DE-EN.txt hat den Aufbau:
DeutschesWort EnglischesWort
Also:
gehen go
schlafen sleep
hören hear
Vielleicht kann mir ja jemand von euch helfen:
Ich möchte einen Vokabeltrainer programmieren, der folgendes können soll:
Bei jedem Start des PCs werden 10 Vokabeln zufällig abgefragt.
Vokabeln zufällig abgefragt. Dazu soll eine Karteikartenmethode
(drei Kästen! - Vokabeln die bekannt sind, wandern von 1 -> 2
- und alls die in 2 sind wandern von 2 -> 3 bzw. "raus")
programmiert werden.
- Die zu lernenden VOlabeln stehen in einer Datei, die mit "Bordmitteln" (Editor, Word, Excel etc.) zu bearbeiten ist.
Ich habe auch schon einen Ansatz, leider komme ich nicht weiter. Ich kann zwar Vokabeln einlesen, aber immer nur 1 Deutsches und 1 Englisches Wort. Kann also nicht alle in einem Array speichern. 2tes Problem ist, dass ich nur Wörter ohne Leerzeichen nehmen kann, da er das Leerzeichen als Trennzeichen benutzt, und dann weiterspringt. Bitte nicht so schwierige Sachen benutzen, da ich noch Anfänger bin.
Hier der Code von mir:
Code:
#include <stdio.h>
#include <conio.h>
void dateioeffnen(void); //Funktion zum öffenen der Datei
int eingabe(void); //Funktion zum öffnen der Abfragen der Eingabe
void menue(void); //Funktion zum darstellen des Menüs
int main(void)
{
int i;
do{
i = eingabe();
getch();
}while(i); //Solange i=1 ist
return 0;
}
void dateioeffnen(void)
{
FILE *pf = fopen("Vok-DE-EN.txt", "r"); //Deklaration
FILE *pf2 = fopen("Zwischen.txt", "w");
char in1[20], in2[20];
if(!pf) {
printf("Konnte die Datei nicht oeffnen\n");
}
while(!feof(pf)) { //Solange das Dateiende nicht erreicht ist
if(fscanf(pf, "%s %s\n", in1, in2) == EOF) { //Einlesen wenn Dateiende noch nicht erreicht ist
break;
} else {
printf("%s %s\n", in1, in2); //Testweise Ausgabe
fprintf(pf2, "%s %s\n", in1, in2); //Daten in neue Datei schreiben
}
}
fclose(pf);
}
int eingabe(void) //Eingabeabfrage
{
clrscr(); //Bildschirm löschen
int wahl;
menue(); //Menüdarstellung aufrufen
do{
scanf("%i", &wahl); //Auswahl abfragen
if(wahl<0||wahl>3) //Bei falscher Eingabe wiederholen
{
printf("Falsche Eingabe!");
getch();
clrscr();
menue(); //Funktion Menü neu aufrufen
}
}while(wahl<0||wahl>3);
switch(wahl)
{
case 0: printf("Programm beendet"); return 0; break;
case 1: printf("Auswahl 1"); return 1; break;
case 2: printf("Auswahl 2"); return 1; break;
case 3: dateioeffnen(); return 1; break;
}
}
void menue(void) //Menüdarstellung
{
printf("Vokabeltrainer\n\n");
printf("1. Lernen\n");
printf("2. Hinzufuegen\n");
printf("3. Zufaellige Abfrage\n\n");
printf("0. Ende\n\n");
printf("Bitte treffen sie ihre Auswahl: ");
}
Achja: Die Datei Vok-DE-EN.txt hat den Aufbau:
DeutschesWort EnglischesWort
Also:
gehen go
schlafen sleep
hören hear
Anhänge
Zuletzt bearbeitet: