Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdio>
- #include<string.h>
- #include<fstream>
- #include <stdlib.h>
- using namespace std;
- #include "Biblio_klassen.h"
- //----------------------------------
- int main()
- {
- //#####Variablendeklaration#####
- char eingabe[100];
- string Nachname;
- string Vorname;
- string Buch;
- fstream Datei;
- string s;
- int pos, EoF, temp;
- //#####Datei öffnen#####
- Datei.open("Datei.dat",ios::binary|ios::out|ios::in); // öffnen der Datei
- Datei.seekg(0,ios::end); //Zeiger auf Ende setzen
- EoF = Datei.tellg(); // Position als Wert zurückgeben
- cout << "Dateigroesse:" << endl; // Ausgabe
- cout << EoF << endl;
- Datei.seekg(0,ios::beg); // Zeiger auf Anfang setzen
- pos = Datei.tellg(); // pos als Anfang festlegen
- Datei.close();
- do //Schleife, damit das Programm öfter benutzt werden kann
- {
- cout << "\n" << endl;
- cout << "___________________________________________________________" << endl;
- cout << "[1]: Neuen Kunden" << endl;
- cout << "[2]: Kunden anzeigen" << endl;
- cout << "[3]: Datensatz ändern" << endl;
- cout << "[4]: Programm beenden" << endl;
- cin.getline(eingabe,100);
- //#####Kunden speichern#####
- if (eingabe[0] == '1'){
- string vorname;
- string name;
- string buch;
- string buffer;
- Datei.open("Datei.dat",ios::binary|ios::out|ios::app);
- char * cstr_vorname;
- char * cstr_name;
- char * cstr_buch;
- string z_u = "\n";
- cout << "Bitte geben sie folgende Daten an" << endl;
- cout << "\n" << endl;
- //##Vorname##
- cout << "Vorname: " << endl;
- getline(cin,vorname);
- cstr_vorname = new char [vorname.size()+1];
- strcpy (cstr_vorname, vorname.c_str());
- for (int i=vorname.length(); i<15; i++)
- {
- strcat (cstr_vorname," ");
- }
- std::string vorname2(cstr_vorname);
- for(int i = 0; i < vorname2.length(); i++)
- {
- Datei.write((char*)&vorname2[i], sizeof(char));
- }
- //##Name##
- cout << "Name: " << endl;
- getline(cin,name);
- // Datei.seekg(0,ios::end);
- cstr_name = new char [name.size()+1];
- strcpy (cstr_name, name.c_str());
- for (int i=name.length(); i<15; i++)
- {
- strcat (cstr_name," ");
- }
- strcat (cstr_name," Buch : ");
- std::string name2(cstr_name);
- for(int i = 0; i < name2.length(); i++)
- {
- Datei.write((char*)&name2[i], sizeof(char));
- }
- //##Buch##
- cout << "Buch: " << endl;
- getline(cin,buch);
- cstr_buch = new char [buch.size()+1];
- strcpy (cstr_buch, buch.c_str());
- for (int i=buch.length(); i<15; i++)
- {
- strcat (cstr_buch," ");
- }
- std::string buch2(cstr_buch);
- for(int i = 0; i < buch2.length(); i++)
- {
- Datei.write((char*)&buch2[i], sizeof(char));
- }
- //##Zeilenumsprung##
- for(int i = 0; i < z_u.length(); i++)
- {
- Datei.write((char*)&z_u[i], sizeof(char));
- }
- cout << "err " << Datei.fail() << endl;
- Datei.close();
- }
- //##### Datei ausgeben #####
- if (eingabe[0] == '2'){
- int i=1;
- Datei.open("Datei.dat",ios::in); // öffnen der Datei
- while (!Datei.eof())// Solange noch Daten vorliegen
- {
- getline(Datei, s);// Lese eine Zeile
- if (i==0) cout << s << endl;// Zeige sie auf dem Bildschirm
- else if (!Datei.eof()) cout << i << " " << s << endl << endl;
- i++;
- }
- Datei.close();// Datei wieder schließen
- }
- //##### Kunden ändern #####
- if (eingabe[0] == '3'){
- // Variablen deklarieren
- string vorname;
- string name;
- string buch;
- char * cstr_vorname;
- char * cstr_name;
- char * cstr_buch;
- string z_u = "\n";
- int i=0;
- cout << "num eingeben" << endl;
- cin.getline(eingabe,100);
- int num = atoi(eingabe);
- Datei.open("Datei.dat",ios::binary|ios::in|ios::out); // Datei öffnen
- cout << "err" << Datei.fail() << endl;
- while(i != num)
- {
- getline(Datei, s);
- i++;
- }
- int temp = Datei.tellg(); // Position des Dateizeigers bekommen.
- Datei.seekp(temp, ios::beg); // Put auf Anfang
- do //Schleife, damit das Programm öfter benutzt werden kann
- {
- cout << "\n" << endl;
- cout << "___________________________________________________________" << endl;
- cout << "[1]: Neuen Kunden" << endl;
- cout << "[2]: Kunden anzeigen" << endl;
- cout << "[3]: Datensatz ändern" << endl;
- cout << "[4]: Programm beenden" << endl;
- cin.getline(eingabe,100);
- //##Vorname ändern##
- cout << "Vorname: " << endl;
- getline(cin,vorname);
- cstr_vorname = new char [vorname.size()+1];
- strcpy (cstr_vorname, vorname.c_str());
- for (int i=vorname.length(); i<15; i++)
- {
- strcat (cstr_vorname," ");
- }
- std::string vorname2(cstr_vorname);
- for(int i = 0; i < vorname2.length(); i++)
- {
- Datei.write((char*)&vorname2[i], sizeof(char));
- }
- //##Name ändern##
- cout << "Name: " << endl;
- getline(cin,name);
- cstr_name = new char [name.size()+1];
- strcpy (cstr_name, name.c_str());
- for (int i=name.length(); i<15; i++)
- {
- strcat (cstr_name," ");
- }
- strcat (cstr_name," Buch : ");
- std::string name2(cstr_name);
- for(int i = 0; i < name2.length(); i++)
- {
- Datei.write((char*)&name2[i], sizeof(char));
- }
- //##Buch ändern##
- cout << "Buch: " << endl;
- getline(cin,buch);
- cstr_buch = new char [buch.size()+1];
- strcpy (cstr_buch, buch.c_str());
- for (int i=buch.length(); i<15; i++)
- {
- strcat (cstr_buch," ");
- }
- std::string buch2(cstr_buch);
- for(int i = 0; i < buch2.length(); i++)
- {
- Datei.write((char*)&buch2[i], sizeof(char));
- }
- //##Zeilenumsprung anhängen##
- for(int i = 0; i < z_u.length(); i++)
- {
- Datei.write((char*)&z_u[i], sizeof(char));
- }
- cout << "error" << Datei.fail() << endl;
- Datei.close();
- }
- } } while (eingabe[0] != '4');
- return 0;
- }
Add Comment
Please, Sign In to add comment