Loop funtzt nich wirklich
-
#include <iostream> #include <fstream> #include <string> #include <cstdlib> #include <ctime> using namespace std; int main() { ifstream dat_ein; string dateiname = ("vokabeln.txt"); dat_ein.open(dateiname.c_str(), ios_base::in); if(!dat_ein) { cout << "Datei konnte nicht gelesen werden!"; cout << endl; return -1; } int anzahl; int datensatz; string englisch, deutsch; int loop; string antwort; dat_ein >> anzahl; srand((unsigned) time(NULL)); datensatz = rand(); loop = 2 * datensatz; while(loop >=2) { dat_ein >> englisch >> deutsch; loop -= 2; } cout << "Englisch: " << englisch << endl << "Deutsch: "; cin >> antwort; if(antwort == stadt) { cout << endl << "Korrekt!" << endl; } else { cout << endl << "Falsch!" << endl; cout << "Korrekt: " << stadt << endl; } dat_ein.close(); system("pause"); return 0; }
Er fragt mich eine Vokabel ab und beendet. Er sollte eigentlich die nächste Vokabel abfragen.
-
Hast mal überprüft, welchen Wert die Variable datensatz hat?
Ich denke mal sie hat den Wert 0 oder 1.
-
8
vokabel1 uebersetzung1
vokabel2 uebersetzung2
vokabel3 uebersetzung3
vokabel4 uebersetzung4
vokabel5 uebersetzung5
vokabel6 uebersetzung6
vokabel7 uebersetzung7
vokabel8 uebersetzung8
-
Hmm, und wo ist das Problem "Loop funtzt nich wirklich"?
Ich interpretiere Deine 8 ausgegebenen Zeilen als 8facher Schleifendurchlauf -> also Programm funktioniert?Oder meinst Du eher, daß Du vergessen hast eine zweite Loop einzubauen mit den Abfragen?
Martin
BTW: Die Variable stadt ist undefiniert!
-
Sry, vergessen >stadt in >deutsch umzubenennen.
Also, wenn ich das Proggi starten will, dann möchte ich, dass er mich zufällige Vokabeln aus >vokabel.txt abfragt. Jedoch beendet er gleich nach der ersten Abfrage...
-
1. solltest Du die ganze Datei einlesen. Du hältst zu keinem Zeitpunkt mehr als ein Wort-Paar im Speicher.
2. ist Deine Abfrage und die Prüfung auf korrekte Antwort nicht in einer Schleife und wird deswegen natürlich auch nur einmal ausgeführt.
-
Oje, liest Du meinen Beitrag genau durch?
Mmacher schrieb:
Oder meinst Du eher, daß Du vergessen hast eine zweite Loop einzubauen mit den Abfragen?
Guck mal nach wo Deine jetzige Loop-Schleife beim Datei einlesen aufhört!
Bau für die eigentlichen Abfrage eine weitere Loop-Schleife ein!
Hoffe alles klar?
Unabhängig davon: Woher weißt Du wie groß die Datei "vokabeln.txt" ist? -> wie groß müssen die Variablen für Strings sein? GEFÄHRLICH!!!!
Desweiteren:
if(antwort == stadt)
Das funktioniert so nicht, schließlich mußt Du in mehreren Strings suchen...
-
Mmacher schrieb:
wie groß müssen die Variablen für Strings sein? GEFÄHRLICH!!!!
Hääh? Er benutzt doch die Klasse 'string' aus der Standardbibliothek?!
-
Mmacher schrieb:
Oje, liest Du meinen Beitrag genau durch?
Mmacher schrieb:
Oder meinst Du eher, daß Du vergessen hast eine zweite Loop einzubauen mit den Abfragen?
Guck mal nach wo Deine jetzige Loop-Schleife beim Datei einlesen aufhört!
Bau für die eigentlichen Abfrage eine weitere Loop-Schleife ein!
Hoffe alles klar?
Unabhängig davon: Woher weißt Du wie groß die Datei "vokabeln.txt" ist? -> wie groß müssen die Variablen für Strings sein? GEFÄHRLICH!!!!
Desweiteren:
if(antwort == stadt)
Das funktioniert so nicht, schließlich mußt Du in mehreren Strings suchen...
Ich check' nicht, was du mir damit sagen willst. Könntest du vielleicht ein paar Beispiele darstellen, damit deutlich wird, was du sagen willst? Und was meinst du mit:
Unabhängig davon: Woher weißt Du wie groß die Datei "vokabeln.txt" ist? -> wie groß müssen die Variablen für Strings sein? GEFÄHRLICH!!!!
Wo hab ich bitte geschrieben, wie groß vokabeln.txt ist? Ich versteh' wieder nicht, was du damit sagen willst.