UnderTears Geschrieben 2. März 2006 Teilen Geschrieben 2. März 2006 Huhu, ich hab ne Aufgabe von meinem Ausbilder bekommen die folgendermaßen lautet: Erstelle ein Programm, das eine Datei Seitenweise, d.h. eine vorgegebene Anzahl von Zeilen auf einmal, auf den Bildschirm ausgibt. Die Ausgabe kann mit folgenden Befehlen, die über die Tastatur eingeben werden, gesteuert werden: 1. q – Verlassen des Programms 2. d – nächste Seite 3. u – vorhergehende Seite Der Dateiname und die Anzahl der Zeilen pro Zeile sollen interaktiv eingegeben werden. Das ganze sieht jetzt dann folgender maßen aus... #include <iostream> #include <fstream> #include <string> #include <stdlib.h> using namespace std; int main() { int i = 0; int lines = 0; int linesstd = 0; char filename [255]; char wahl; string s; cout << "Wieviele Zeilen sollen ausgegeben werden? "; cin >> linesstd; lines=linesstd; cout << "Bitte geben Sie den Dateipfad an: "; cin >> filename; fstream file(filename); if(!file) { cout << "Datei nicht gefunden:" << filename << endl; } while(linesstd > i) { getline(file,s); cout << s << endl; i++; }; while (wahl != 'q') { cout << "Wollen Sie die naechste Zeile ausgeben(d)" << endl; cout << "oder die vorhergehende Zeile (u) ausgeben?" << endl; cin >> wahl; if (wahl == 'd') { lines = linesstd+lines; while(lines > i) { getline(file,s); cout << s << endl; i++; }; } else if (wahl == 'u') { ???"vorherige zeile (theoretisch)" ??? } else if (wahl == 'q') { system("PAUSE"); } else { cout << "Ungueltige Wahl!\n"; } } return 0; system ("PAUSE"); } funktioniert bis dahin auch, aber ich weiß nicht wie ich es realisieren soll, dass er die vorherige Zeile ausgibt :confused: Hoffe ihr könnt mir helfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 2. März 2006 Teilen Geschrieben 2. März 2006 string array und dann navigieren ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UnderTears Geschrieben 2. März 2006 Autor Teilen Geschrieben 2. März 2006 Ich soll es nicht über ein Array realisieren, das war auch meine Idee, da könnte ich ja problemlos hoch und runter zählen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
marcom Geschrieben 2. März 2006 Teilen Geschrieben 2. März 2006 fseek und SEEK_SET schon probiert? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UnderTears Geschrieben 2. März 2006 Autor Teilen Geschrieben 2. März 2006 Davon hab ich noch nichts gehört *zugeb* Ich werde mal meister Google bemühen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UnderTears Geschrieben 2. März 2006 Autor Teilen Geschrieben 2. März 2006 Ich habe grade mal das hier: else if (wahl == 'u') { lines = 0; while (lines < linesstd) { getline(file,s); cout << s << endl; lines++; cout << lines << endl; } probiert. Wieso klappt das nur beim der ersten u-Eingabe und geht hinterher weiter als hätte ich d eingegeben? Boah C++ wird mir immer unsympathischer:floet: Und nochwas: Wieso schreibt er in die Datei? Dazu forder ich doch nirgends auf?:eek Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 3. März 2006 Teilen Geschrieben 3. März 2006 Wieso klappt das nur beim der ersten u-Eingabe und geht hinterher weiter als hätte ich d eingegeben?Weil dein Algorithmus falsch ist. Du solltest zuerst einen Algorithmus formulieren, und den dann in C++ umsetzen. Deine jetztige Vorgehensweise ist eher ein Mischmasch aus beidem - "Ich hab mal probiert". Das geht vor allem dann in die Hose, wenn man in C++ noch nicht so recht sattelfest ist. Oder du zerlegst das Problem in Teilprobleme: Schreib doch erst mal ein Programm, dass die ganze Datei in einen Vector aus Strings einliest, und diesen Vector ausgibt. Boah C++ wird mir immer unsympathischer:floet: Du solltest wirklich nicht die Sprache für deine Unzulänglichkeiten verantwortlich machen :floet: Und nochwas: Wieso schreibt er in die Datei? Dazu forder ich doch nirgends auf?:eekWie äußert sich das denn, dass "er" in die Datei schreibt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
UnderTears Geschrieben 3. März 2006 Autor Teilen Geschrieben 3. März 2006 Du solltest wirklich nicht die Sprache für deine Unzulänglichkeiten verantwortlich machen :floet: Ok, überredet Wie äußert sich das denn, dass "er" in die Datei schreibt? Also "Er" kopiert lines mehrfach in die Datei, erweitert Zeilen durch Zaheln etc... Eine Logik hab ich dahinter leider noch nicht entdeckt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.