Artydude Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Hallo Leute, ich möchte mir selber ein Programm schreiben in dem ich verschiedene Englisch Vokabel abgefragt werde. Leider habe ich noch keine großen C++ Kenntnisse und einige Dinge die ich einbauen möchte weiß ich nicht umzusetzen. Meine Frage ist ob das Programm überhaupt möglich ist nach meinen Vorstellungen zu Programmieren. :confused: Und so soll es laufen: Ich werde nach einem Wort in Deutsch gefragt und gebe es dann in Englisch ein. Danach erscheint eine Ausgabe ob es richtig oder falsch ist. Sollte das Wort richtig sein, soll diese Vokabel einen score bekommen bzw. 1 punkt. Wird das Wort falsch eingegeben verliert das Wort alle seine Punkte und ist wieder 0. Sobald ein Wort 3 mal richtig hintereinander eingegeben wurde (also 3 Punkte hat) soll es nicht mehr vorkommen in der Abfrage. ich weiß nicht wie ich eine zufällige Abfrage machen kann und wie ich den Vokabeln einen Wert zuweise der sich speichert, da die Abfrage in einer Schleife ist in meinem angefangenem Code. Kann jemand einem Newbie wie mir helfen? Gruß Artydude Zitieren
Klotzkopp Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Hast du eine Datenstruktur für deine Vokabeln? Wenn ja, wie sieht sie aus? Zitieren
Artydude Geschrieben 16. Oktober 2014 Autor Geschrieben 16. Oktober 2014 Nein habe ich nicht. Ich habe noch nicht wirklich was, weil ich wirklich keine Ahnung habe wie ich das umsetzen soll. Erst hatte ich vor das die ganzen Vokabeln in einzelnen switch cases sind, aber das ist auch blöd weil man sich dann immer merken muss wo man aufgehört hat und man dann keine zufällige Reihenfolge der Vokabeln hat. Außerdem kann man bestimmt auch nicht ein case ausblenden wenn die Vokabel die in ihr drin ist schon 3 mal richtig hintereinander eingegeben wurde. Gruß thedude Zitieren
carstenj Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Hi, weisst du denn, was Datenstrukturen sind? Hast du Begriffe wie "Map", "Array" oder "Vector" schonmal gehört? Zitieren
Artydude Geschrieben 16. Oktober 2014 Autor Geschrieben 16. Oktober 2014 Ach das meint ihr.. Array und Vector ja^^ Zitieren
Klotzkopp Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Dann fang erst einmal damit an, eine struct für die Daten einer Vokabel zu definieren, einen Vektor dieser Struktur anzulegen und mit ein paar Beispieldaten zu füllen. Zitieren
Polar Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Spontane Idee: Textdokument mit Inhalt Deutsch:Englisch erstellen und einlesen lassen. Das sollte eigentlich ohne weiteres machbar sein Zitieren
lilith2k3 Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Spontane Idee: Textdokument mit Inhalt Deutsch:Englisch erstellen und einlesen lassen. Das sollte eigentlich ohne weiteres machbar sein Ich denke, da sollten wir vorerst noch von Abstand nehmen. Das wird dann der fortgeschrittene Teil Wichtig wird wahrscheinlich ersteinmal: Basic Input/Output - C++ Tutorials rand - C++ Reference http://www.cplusplus.com/reference/vector/vector/ Data structures - C++ Tutorials Und einen Ablaufplan oder sowas Zitieren
lilith2k3 Geschrieben 16. Oktober 2014 Geschrieben 16. Oktober 2014 Hallo Leute, ich möchte mir selber ein Programm schreiben in dem ich verschiedene Englisch Vokabel abgefragt werde. Leider habe ich noch keine großen C++ Kenntnisse und einige Dinge die ich einbauen möchte weiß ich nicht umzusetzen. Meine Frage ist ob das Programm überhaupt möglich ist nach meinen Vorstellungen zu Programmieren. :confused: Und so soll es laufen: Ich werde nach einem Wort in Deutsch gefragt und gebe es dann in Englisch ein. Danach erscheint eine Ausgabe ob es richtig oder falsch ist. Sollte das Wort richtig sein, soll diese Vokabel einen score bekommen bzw. 1 punkt. Wird das Wort falsch eingegeben verliert das Wort alle seine Punkte und ist wieder 0. Sobald ein Wort 3 mal richtig hintereinander eingegeben wurde (also 3 Punkte hat) soll es nicht mehr vorkommen in der Abfrage. ich weiß nicht wie ich eine zufällige Abfrage machen kann und wie ich den Vokabeln einen Wert zuweise der sich speichert, da die Abfrage in einer Schleife ist in meinem angefangenem Code. Kann jemand einem Newbie wie mir helfen? Gruß Artydude Achja, und vielleicht postest Du Deinen Code hier. Keine Angst, wir beißen nur manchmal Aber ich denke, es ist sinnvoll, wenn Du Deinen Code von anderen Leuten lesen läßt. Keine falsche Scheu! Wir helfen, wo wir können. Zitieren
Artydude Geschrieben 21. Oktober 2014 Autor Geschrieben 21. Oktober 2014 @lilith2k3: Danke für die Links! _____________________________ Ich habe jetzt für eine Vokabel ein struct angelegt. Das sieht so aus: struct Vokabel { string de, en; int wert; }; Vokabel eig; eig.de = "aufenthalt"; eig.en = "stay"; eig.wert = 0; Zitieren
Klotzkopp Geschrieben 22. Oktober 2014 Geschrieben 22. Oktober 2014 Das sieht gut aus. Jetzt leg einen Vector (oder ein Array) davon an und fülle ihn mit Beispieldaten. Zitieren
Artydude Geschrieben 22. Oktober 2014 Autor Geschrieben 22. Oktober 2014 So jetzt habe ich eine Abfrage für eine Vokabel. Kann man diese Abfrage in eine Schleife setzen, in der das alte Array durch ein neues ersetzt wird? Erst mal was in meinem Compiler steht: #include<iostream> #include<conio.h> #include<vector> using namespace std; main() { string eingabe; struct Vokabel { string de, en; int wert; }; Vokabel a; a.de = "aufenthalt"; a.en = "stay"; a.wert = 0; vector <string> dewort(1); vector <string> enwort(1); dewort[0] = a.de; enwort[0] = a.en; cout << "Was beudetet '" << dewort[0] << "' in englisch?" << endl; cin >> eingabe; if(eingabe == enwort[0]) { cout << "RICHTIG!" << endl; } else { cout << "FALSCH!" << endl; } getch(); } Zitieren
Klotzkopp Geschrieben 22. Oktober 2014 Geschrieben 22. Oktober 2014 Du solltest einen Vektor von Vokabeln anlegen. Statt dessen hast du zwei String-Vektoren angelegt und gleich noch die Abfrage dazu. Langsam vergeht mir die Lust. Zitieren
Artydude Geschrieben 15. November 2014 Autor Geschrieben 15. November 2014 Ich habe jetzt 15 Arrays angelegt für die Vokabeln und es wird ihnen auch ein Wert abgezogen um am ende zu gucken wie oft diese Vokabel noch eingegeben werden muss, da ich ja möchte das die Vokabeln 3 mal richtig eingegeben werden. Bei einem Kumpel von mir Funktioniert es, aber bei mir wird eine Fehlermeldung ausgegeben wenn ich am Ende keine Vokabeln mehr eingeben will und er mir dann zeigt wieoft ich Vokabelxy noch eingeben muss. Hier der Code: #include<iostream> #include<conio.h> #include<time.h> #include<stdlib.h> #include<windows.h> using namespace std; main() { int rnd; string eingabe; int wahl = 1; struct vokabel { string de, en; int wert; }; vokabel wort[15]; wort[0].de = "grundlegendes"; wort[0].en = "basic"; wort[0].wert = 3; wort[1].de = "muss"; wort[1].en = "must"; wort[1].wert = 3; wort[2].de = "bohrkopf"; wort[2].en = "drill head"; wort[2].wert = 3; wort[3].de = "treppe"; wort[3].en = "stairs"; wort[3].wert = 3; wort[4].de = "begr\x81\xE1ung"; wort[4].en = "greeting"; wort[4].wert = 3; wort[5].de = "versp\x84tet"; wort[5].en = "delayed"; wort[5].wert = 3; wort[6].de = "landen"; wort[6].en = "to land"; wort[6].wert = 3; wort[7].de = "verantwortlich"; wort[7].en = "responsible"; wort[7].wert = 3; wort[8].de = "erfinden"; wort[8].en = "to invent"; wort[8].wert = 3; wort[9].de = "rohstoff"; wort[9].en = "raw material"; wort[9].wert = 3; wort[10].de = "anwerben"; wort[10].en = "to recruit"; wort[10].wert = 3; wort[11].de = "ausbilden"; wort[11].en = "to train"; wort[11].wert = 3; wort[12].de = "zentrale"; wort[12].en = "headquarters"; wort[12].wert = 3; wort[13].de = "t\x84tig sein"; wort[13].en = "to operate"; wort[13].wert = 3; wort[14].de = "niederlassung"; wort[14].en = "branch"; wort[14].wert = 3; do{ srand (time(NULL)); rnd = rand() % 15 + 1; cout << "Was bedeutet: " << wort[rnd].de << "?" << endl; cin >> eingabe; if(wort[rnd].en == eingabe) { wort[rnd].wert --; cout << "Das ist richtig!" << endl; cout << "Noch eine Vokabel? (1) Ja (0) Nein" << endl; cin >> wahl; } else { wort[rnd].wert = 3; cout << "Das ist falsch!" << endl; cout << "Noch eine Vokabel? (1) Ja (0) Nein" << endl; cin >> wahl; } }while(wahl != 0); for(int i = 0; i <= 16; i++) { cout << "'" << wort[i].de << "' muss nur noch " << wort[i].wert << " mal eingegeben werden" << endl; } getch(); } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.