//Dieses Datei wurde von Marcel Müller geschrieben und unter der GPL veröffentlicht //Informationen gibt es unter www.einfachsaufen.de //Autoren die das Script weiter bearbeiten dürfen ihre Änderungen an dieser Datei erst ab HIER vornehmen #include #include #include using namespace std; //Die Noten-Klasse class noten { public: int deutsch; int englisch; int mathe; int technik; }; //Die Schüler-Klasse class schueler { public: string nachname; string vorname; string strasse; int plz; string ort; noten n; }; int main(void) { schueler a; char neu; //Angabe des Dateipfads string dateiadresse; cout << "Bitte geben Sie die Adresse der Datei ein: "; cin >> dateiadresse; //Abfrage der gewünschten Option int option; cout << "##############################" << endl << "Bitte waehlen Sie eine Option:" << endl << endl << "(1) Datei auslesen" << endl << "(2) Datei schreiben" << endl << "##############################" << endl; cin >> option; switch(option) { case 1: { //Auslesen der Datei ifstream lesen; lesen.open(dateiadresse.c_str()); while (lesen) { lesen >> a.nachname >> a.vorname >> a.strasse >> a.plz >> a.ort >> a.n.deutsch >> a.n.englisch >> a.n.mathe >> a.n.technik; //Um die Schleife zu verlassen bevor nicht weiter gelesen werden kann, dient dazu die doppelte Ausgabe der letzten Zeile zu vermeiden if(!lesen) break; //Auslesen der Datei cout << "##############################" << endl << "Nachname: " << a.nachname << endl << "Vorname: " << a.vorname << endl << "Strasse: " << a.strasse << endl << "Postleitzahl: " << a.plz << endl << "Ort: " << a.ort << endl << "Deutsch-Note: " << a.n.deutsch << endl << "Englisch-Note: " << a.n.englisch << endl << "Mathematik-Note: " << a.n.mathe << endl << "Technologie-Note: " << a.n.technik << endl; cout << endl; } lesen.close(); break; } case 2: { do { //Eingabe der Daten für die Schüler-Klasse cout << "Nachname: "; cin >> a.nachname; cout << "Vorname: "; cin >> a.vorname; cout << "Strasse: "; cin >> a.strasse; cout << "Postleitzahl: "; cin >> a.plz; cout << "Ort: "; cin >> a.ort; //Eingabe der Daten für die Noten-Klasse cout << "Deutsch-Note: "; cin >> a.n.deutsch; cout << "Englisch-Note: "; cin >> a.n.englisch; cout << "Mathematik-Note: "; cin >> a.n.mathe; cout << "Technologie-Note: "; cin >> a.n.technik; //Schreiben der Datei ofstream schreiben; schreiben.open(dateiadresse.c_str(), ios_base::app); schreiben << a.nachname << "\n" << a.vorname << "\n" << a.strasse << "\n" << a.plz << "\n" << a.ort << "\n" << a.n.deutsch << "\n" << a.n.englisch << "\n" << a.n.mathe << "\n" << a.n.technik << "\n"; schreiben.close(); //Wiederholung der Schleife falls erwünscht cout << "Moechten Sie einen weiteren Schueler hinzufuegen?" << endl << "Antworten Sie bitte mit j fuer ja oder n fuer nein: "; cin >> neu; }while(neu=='j'); break; } }; return 0; }