Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdio>
- #include<string.h>
- #include<fstream>
- using namespace std;
- #include "Biblio_klassen.h"
- //----------------------------------
- //int Kunde::next_Kdn = 0;
- Kunde::Kunde(string N, string V)
- {
- Nachname=N;
- Vorname=V;
- //Kdn=N;
- }
- Kunde::~Kunde()
- {
- }
- //Ausgaben
- string Kunde::ZeigNachname(void)
- {
- return Nachname;
- }
- string Kunde::ZeigVorname(void)
- {
- return Vorname;
- }
- int Kunde::ZeigKdn(void)
- {
- return Kdn;
- }
- string Kunde::ZeigBuch(void)
- {
- return Buch;
- }
- //Eingaben
- void Kunde::SchreibNachname(string Nx)
- {
- Nachname=Nx;
- }
- void Kunde::SchreibVorname(string Vx)
- {
- Vorname=Vx;
- }
- void Kunde::SchreibKdn(int kdnx)
- {
- Kdn=kdnx;
- }
- void Kunde::SchreibBuch(string bx)
- {
- Buch=bx;
- }
- int main()
- {
- //#####Variablendeklaration#####
- char eingabe[100];
- string Nachname;
- string Vorname;
- int Kdn;
- string Buch;
- fstream Datei;
- 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]: Programm beenden" << endl;
- cout << "[4]: Datensatz ändern" << endl;
- cin.getline(eingabe,100);
- //#####Kunden speichern#####
- if (eingabe[0] == '1'){
- string vorname;
- string name;
- string buch;
- string buffer;
- string temp_array[50000];
- // fstream Datei2("Datei.dat");
- // Datei.close();
- 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;
- //## Postition bekommen##
- /*int i=0;
- while (!Datei2.eof()) {
- getline(Datei2,buffer);
- temp_array[i]=buffer;
- i++;
- }
- while(temp_array.find_first_of("[i]]", 0) != string::size_type(-1))
- {
- i++;
- }
- */
- //##Vorname##
- cout << "Vorname: " << endl;
- getline(cin,vorname);
- // Datei.seekp(0,ios::end);
- cstr_vorname = new char [vorname.size()+1];
- strcpy (cstr_vorname, vorname.c_str());
- 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());
- 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);
- // Datei.seekg(0,ios::end);
- for(int i = 0; i < buch.length(); i++)
- {
- Datei.write((char*)&buch[i], sizeof(char));
- }
- //##Zeilenumsprung##
- // Datei.seekg(0,ios::end);
- 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'){
- string s;
- ifstream Datei;
- int i=0;
- Datei.open("Datei.dat",ios::in); // öffnen der Datei
- //Datei.seekg(0,ios::beg); // Zeiger auf Anfang setzen
- while (!Datei.eof())// Solange noch Daten vorliegen
- {
- getline(Datei, s);// Lese eine Zeile
- // cout << "\n" << endl;
- if (i==0) cout << "num " << s << endl << endl;// Zeige sie auf dem Bildschirm
- else if (!Datei.eof()) cout << i << " " << s << endl << endl;
- i++;
- }
- cout << "err " << Datei.fail() << endl;
- Datei.close();// Datei wieder schließen
- }
- if (eingabe[0] == '4'){
- string vorname;
- string name;
- string buch;
- string buffer;
- string temp_array[50000];
- fstream Datei2("Datei.dat");
- char * cstr_vorname;
- char * cstr_name;
- char * cstr_buch;
- string z_u = "\n";
- string s;
- 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);
- cout << "err" << Datei.fail() << endl;
- while(i != num)
- {
- getline(Datei, s);
- i++;
- }
- int temp = Datei.tellg();
- Datei.seekp(temp, ios::beg);
- cout << "Vorname: " << endl;
- getline(cin,vorname);
- // Datei.seekg(0,ios::end);
- cstr_vorname = new char [vorname.size()+1];
- strcpy (cstr_vorname, vorname.c_str());
- 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());
- 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);
- // Datei.seekg(0,ios::end);
- for(int i = 0; i < buch.length(); i++)
- {
- Datei.write((char*)&buch[i], sizeof(char));
- }
- //##Zeilenumsprung##
- // Datei.seekg(0,ios::end);
- for(int i = 0; i < z_u.length(); i++)
- {
- Datei.write((char*)&z_u[i], sizeof(char));
- }
- cout << Datei.fail() << endl;
- Datei.close();
- eingabe[0] = '4';
- }
- }
- while (eingabe[0] != '3');
- Datei.close();
- return 0;
- }
- /*Kunde Kunde1("Peter1", "Muster1");
- Kunde Kunde2("Peter2", "Muster2");
- Kunde Kunde3("Peter3", "Muster3");
- Nachname = Kunde1.ZeigNachname();
- cout << "Nachname Kunde1: " << Nachname <<endl;
- Vorname = Kunde1.ZeigVorname();
- cout << "Vorname Kunde1: " << Vorname <<endl;
- fflush(stdin);
- */
Add Comment
Please, Sign In to add comment