Guest User

Untitled

a guest
Apr 26th, 2018
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.01 KB | None | 0 0
  1.     #include<iostream>
  2.     #include<cstdio>
  3.     #include<string.h>
  4.     #include<fstream>
  5.     using namespace std;
  6.     #include "Biblio_klassen.h"
  7.     //----------------------------------
  8.     //int Kunde::next_Kdn = 0;
  9.     Kunde::Kunde(string N, string V)
  10.     {
  11.         Nachname=N;
  12.         Vorname=V;
  13.         //Kdn=N;
  14.     }
  15.     Kunde::~Kunde()
  16.     {
  17.      
  18.     }
  19.     //Ausgaben
  20.     string Kunde::ZeigNachname(void)
  21.     {
  22.         return Nachname;
  23.     }
  24.     string Kunde::ZeigVorname(void)
  25.     {
  26.         return Vorname;
  27.     }
  28.     int Kunde::ZeigKdn(void)
  29.     {
  30.         return Kdn;
  31.     }
  32.     string Kunde::ZeigBuch(void)
  33.     {
  34.         return Buch;
  35.     }
  36.     //Eingaben
  37.     void Kunde::SchreibNachname(string Nx)
  38.     {
  39.         Nachname=Nx;
  40.     }
  41.     void Kunde::SchreibVorname(string Vx)
  42.     {
  43.         Vorname=Vx;
  44.     }
  45.     void Kunde::SchreibKdn(int kdnx)
  46.     {
  47.         Kdn=kdnx;
  48.     }
  49.     void Kunde::SchreibBuch(string bx)
  50.     {
  51.         Buch=bx;
  52.     }
  53.      
  54.      
  55.     int main()
  56.     {
  57.         //#####Variablendeklaration#####
  58.         char eingabe[100];
  59.         string Nachname;
  60.         string Vorname;
  61.         int Kdn;
  62.         string Buch;
  63.         fstream Datei;
  64.         int pos, EoF, temp;
  65.         //#####Datei öffnen#####
  66.         Datei.open("Datei.dat",ios::binary|ios::out|ios::in); // öffnen der Datei
  67.         Datei.seekg(0,ios::end); //Zeiger auf Ende setzen
  68.         EoF = Datei.tellg(); // Position als Wert zurückgeben
  69.         cout << "Dateigroesse:" << endl; // Ausgabe
  70.         cout << EoF << endl;
  71.         Datei.seekg(0,ios::beg); // Zeiger auf Anfang setzen
  72.         pos = Datei.tellg(); // pos als Anfang festlegen
  73.         Datei.close();
  74.        
  75.           do//Schleife, damit das Programm öfter benutzt werden kann
  76.         {
  77.             cout << "\n" << endl;
  78.             cout << "___________________________________________________________" << endl;
  79.             cout << "[1]: Neuen Kunden" << endl;
  80.             cout << "[2]: Kunden anzeigen" << endl;
  81.             cout << "[3]: Programm beenden" << endl;
  82.             cout << "[4]: Datensatz ändern" << endl;            
  83.             cin.getline(eingabe,100);
  84.      
  85.         //#####Kunden speichern#####
  86.             if (eingabe[0] == '1'){
  87.                 string vorname;
  88.                 string name;
  89.                 string buch;
  90.                 string buffer;
  91.                 string temp_array[50000];
  92.             //    fstream Datei2("Datei.dat");
  93. //                Datei.close();
  94.                 Datei.open("Datei.dat",ios::binary|ios::out|ios::app);            
  95.                 char * cstr_vorname;
  96.                 char * cstr_name;
  97.                 char * cstr_buch;
  98.                 string z_u = "\n";
  99.                 cout << "Bitte geben sie folgende Daten an" << endl;
  100.                 cout << "\n" << endl;
  101.                 //## Postition bekommen##
  102.                 /*int i=0;
  103.                 while (!Datei2.eof()) {
  104.                 getline(Datei2,buffer);
  105.                 temp_array[i]=buffer;
  106.                 i++;
  107.                 }
  108.                 while(temp_array.find_first_of("[i]]", 0) != string::size_type(-1))
  109.                 {
  110.                     i++;
  111.                 }
  112.                 */
  113.                 //##Vorname##
  114.                 cout << "Vorname: " << endl;
  115.                 getline(cin,vorname);
  116.              //   Datei.seekp(0,ios::end);
  117.                 cstr_vorname = new char [vorname.size()+1];
  118.                 strcpy (cstr_vorname, vorname.c_str());
  119.                 strcat (cstr_vorname," ");
  120.                 std::string vorname2(cstr_vorname);
  121.                 for(int i = 0; i < vorname2.length(); i++)
  122.                 {
  123.                     Datei.write((char*)&vorname2[i], sizeof(char));
  124.                 }
  125.                 //##Name##
  126.                 cout << "Name: " << endl;
  127.                 getline(cin,name);
  128.               //  Datei.seekg(0,ios::end);
  129.                 cstr_name = new char [name.size()+1];
  130.                 strcpy (cstr_name, name.c_str());
  131.                 strcat (cstr_name," Buch : ");
  132.                 std::string name2(cstr_name);
  133.                 for(int i = 0; i < name2.length(); i++)
  134.                 {
  135.                     Datei.write((char*)&name2[i], sizeof(char));
  136.                 }
  137.                 //##Buch##
  138.                 cout << "Buch: " << endl;
  139.                 getline(cin,buch);
  140.              //   Datei.seekg(0,ios::end);
  141.                 for(int i = 0; i < buch.length(); i++)
  142.                 {
  143.                     Datei.write((char*)&buch[i], sizeof(char));
  144.                 }
  145.                 //##Zeilenumsprung##
  146.             //    Datei.seekg(0,ios::end);
  147.                 for(int i = 0; i < z_u.length(); i++)
  148.                 {
  149.                     Datei.write((char*)&z_u[i], sizeof(char));
  150.                 }
  151.                 cout << "err " << Datei.fail() << endl;
  152.                 Datei.close();
  153.                 }
  154.      
  155.         //#####Datei ausgeben#####
  156.             if (eingabe[0] == '2'){
  157.                 string s;
  158.                 ifstream Datei;
  159.                 int i=0;
  160.                
  161.                 Datei.open("Datei.dat",ios::in); // öffnen der Datei
  162.                 //Datei.seekg(0,ios::beg); // Zeiger auf Anfang setzen
  163.                 while (!Datei.eof())// Solange noch Daten vorliegen
  164.                 {
  165.                     getline(Datei, s);// Lese eine Zeile
  166.                   //  cout << "\n" << endl;
  167.                     if (i==0) cout << "num  " << s << endl << endl;// Zeige sie auf dem Bildschirm
  168.                       else if (!Datei.eof()) cout << i << " " << s << endl << endl;
  169.                     i++;
  170.                 }
  171.                 cout << "err " << Datei.fail() << endl;                
  172.                 Datei.close();// Datei wieder schließen
  173.                 }
  174.                
  175.             if (eingabe[0] == '4'){
  176.                 string vorname;
  177.                 string name;
  178.                 string buch;
  179.                 string buffer;
  180.                 string temp_array[50000];
  181.                 fstream Datei2("Datei.dat");
  182.                 char * cstr_vorname;
  183.                 char * cstr_name;
  184.                 char * cstr_buch;
  185.                 string z_u = "\n";          
  186.                 string s;
  187.                 int i=0;
  188.                
  189.                 cout << "num eingeben" << endl;
  190.                 cin.getline(eingabe,100);
  191.                 int num = atoi(eingabe);
  192.                 Datei.open("Datei.dat",ios::binary|ios::in|ios::out);
  193.                  cout << "err" << Datei.fail() << endl;                
  194.                 while(i != num)
  195.                 {
  196.                       getline(Datei, s);
  197.                       i++;
  198.                 }
  199.                      
  200.                 int temp = Datei.tellg();
  201.                 Datei.seekp(temp, ios::beg);                
  202.                 cout << "Vorname: " << endl;          
  203.                 getline(cin,vorname);
  204.              //   Datei.seekg(0,ios::end);
  205.                 cstr_vorname = new char [vorname.size()+1];
  206.                 strcpy (cstr_vorname, vorname.c_str());
  207.                 strcat (cstr_vorname," ");
  208.                 std::string vorname2(cstr_vorname);
  209.                 for(int i = 0; i < vorname2.length(); i++)
  210.                 {
  211.                     Datei.write((char*)&vorname2[i], sizeof(char));
  212.                 }
  213.                 //##Name##
  214.                 cout << "Name: " << endl;
  215.                 getline(cin,name);
  216.             //    Datei.seekg(0,ios::end);
  217.                 cstr_name = new char [name.size()+1];
  218.                 strcpy (cstr_name, name.c_str());
  219.                 strcat (cstr_name," Buch : ");
  220.                 std::string name2(cstr_name);
  221.                 for(int i = 0; i < name2.length(); i++)
  222.                 {
  223.                     Datei.write((char*)&name2[i], sizeof(char));
  224.                 }
  225.                 //##Buch##
  226.                 cout << "Buch: " << endl;
  227.                 getline(cin,buch);
  228.              //   Datei.seekg(0,ios::end);
  229.                 for(int i = 0; i < buch.length(); i++)
  230.                 {
  231.                     Datei.write((char*)&buch[i], sizeof(char));
  232.                 }
  233.                 //##Zeilenumsprung##
  234.               //  Datei.seekg(0,ios::end);
  235.                 for(int i = 0; i < z_u.length(); i++)
  236.                 {
  237.                     Datei.write((char*)&z_u[i], sizeof(char));
  238.                 }
  239.                 cout << Datei.fail() << endl;
  240.                 Datei.close();
  241.                 eingabe[0] = '4';
  242.             }
  243.  
  244.         }
  245.             while (eingabe[0] != '3');
  246.             Datei.close();
  247.             return 0;
  248.      
  249.      
  250.     }
  251.      
  252.      
  253.      
  254.      
  255.      
  256.      
  257.      
  258.      
  259.      
  260.      
  261.         /*Kunde Kunde1("Peter1", "Muster1");
  262.         Kunde Kunde2("Peter2", "Muster2");
  263.         Kunde Kunde3("Peter3", "Muster3");
  264.      
  265.         Nachname = Kunde1.ZeigNachname();
  266.         cout << "Nachname Kunde1: " << Nachname <<endl;
  267.         Vorname = Kunde1.ZeigVorname();
  268.         cout << "Vorname Kunde1: " << Vorname <<endl;
  269.      
  270.         fflush(stdin);
  271.         */
Add Comment
Please, Sign In to add comment