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