Guest User

Untitled

a guest
Apr 26th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.15 KB | None | 0 0
  1.     #include<iostream>
  2.     #include<cstdio>
  3.     #include<string.h>
  4.     #include<fstream>
  5.     #include <stdlib.h>
  6.     using namespace std;
  7.     #include "Biblio_klassen.h"
  8.     //----------------------------------
  9.  
  10.     int main()
  11.     {
  12.         //#####Variablendeklaration#####
  13.         char eingabe[100];
  14.         string Nachname;
  15.         string Vorname;
  16.         string Buch;
  17.         fstream Datei;
  18.         string s;
  19.         int pos, EoF, temp;
  20.         //#####Datei öffnen#####
  21.         Datei.open("Datei.dat",ios::binary|ios::out|ios::in); // öffnen der Datei
  22.         Datei.seekg(0,ios::end); //Zeiger auf Ende setzen
  23.         EoF = Datei.tellg(); // Position als Wert zurückgeben
  24.         cout << "Dateigroesse:" << endl; // Ausgabe
  25.         cout << EoF << endl;
  26.         Datei.seekg(0,ios::beg); // Zeiger auf Anfang setzen
  27.         pos = Datei.tellg(); // pos als Anfang festlegen
  28.         Datei.close();
  29.  
  30.         do //Schleife, damit das Programm öfter benutzt werden kann
  31.         {
  32.             cout << "\n" << endl;
  33.             cout << "___________________________________________________________" << endl;
  34.             cout << "[1]: Neuen Kunden" << endl;
  35.             cout << "[2]: Kunden anzeigen" << endl;
  36.             cout << "[3]: Datensatz ändern" << endl;
  37.             cout << "[4]: Programm beenden" << endl;
  38.  
  39.             cin.getline(eingabe,100);
  40.  
  41.         //#####Kunden speichern#####
  42.             if (eingabe[0] == '1'){
  43.                 string vorname;
  44.                 string name;
  45.                 string buch;
  46.                 string buffer;
  47.                 Datei.open("Datei.dat",ios::binary|ios::out|ios::app);
  48.                 char * cstr_vorname;
  49.                 char * cstr_name;
  50.                 char * cstr_buch;
  51.                 string z_u = "\n";
  52.                 cout << "Bitte geben sie folgende Daten an" << endl;
  53.                 cout << "\n" << endl;
  54.                 //##Vorname##
  55.                 cout << "Vorname: " << endl;
  56.                 getline(cin,vorname);
  57.                 cstr_vorname = new char [vorname.size()+1];
  58.                 strcpy (cstr_vorname, vorname.c_str());
  59.                 for (int i=vorname.length(); i<15; i++)
  60.                     {
  61.                         strcat (cstr_vorname," ");
  62.                     }
  63.                 std::string vorname2(cstr_vorname);
  64.                 for(int i = 0; i < vorname2.length(); i++)
  65.                     {
  66.                         Datei.write((char*)&vorname2[i], sizeof(char));
  67.                     }
  68.                 //##Name##
  69.                 cout << "Name: " << endl;
  70.                 getline(cin,name);
  71.               //  Datei.seekg(0,ios::end);
  72.                 cstr_name = new char [name.size()+1];
  73.                 strcpy (cstr_name, name.c_str());
  74.                 for (int i=name.length(); i<15; i++)
  75.                     {
  76.                         strcat (cstr_name," ");
  77.                     }
  78.                 strcat (cstr_name," Buch : ");
  79.                 std::string name2(cstr_name);
  80.                 for(int i = 0; i < name2.length(); i++)
  81.                     {
  82.                         Datei.write((char*)&name2[i], sizeof(char));
  83.                     }
  84.                 //##Buch##
  85.                 cout << "Buch: " << endl;
  86.                 getline(cin,buch);
  87.                 cstr_buch = new char [buch.size()+1];
  88.                 strcpy (cstr_buch, buch.c_str());
  89.                 for (int i=buch.length(); i<15; i++)
  90.                     {
  91.                         strcat (cstr_buch," ");
  92.                     }
  93.                 std::string buch2(cstr_buch);
  94.                 for(int i = 0; i < buch2.length(); i++)
  95.                     {
  96.                         Datei.write((char*)&buch2[i], sizeof(char));
  97.                     }
  98.                 //##Zeilenumsprung##
  99.                 for(int i = 0; i < z_u.length(); i++)
  100.                     {
  101.                         Datei.write((char*)&z_u[i], sizeof(char));
  102.                     }
  103.                 cout << "err " << Datei.fail() << endl;
  104.                 Datei.close();
  105.                 }
  106.  
  107.         //##### Datei ausgeben #####
  108.             if (eingabe[0] == '2'){
  109.                 int i=1;
  110.  
  111.                 Datei.open("Datei.dat",ios::in); // öffnen der Datei
  112.                 while (!Datei.eof())// Solange noch Daten vorliegen
  113.                 {
  114.                     getline(Datei, s);// Lese eine Zeile
  115.                     if (i==0) cout << s << endl;// Zeige sie auf dem Bildschirm
  116.                       else if (!Datei.eof()) cout << i << " " << s << endl << endl;
  117.                     i++;
  118.                 }
  119.                 Datei.close();// Datei wieder schließen
  120.                 }
  121.         //##### Kunden ändern #####
  122.             if (eingabe[0] == '3'){
  123.                 // Variablen deklarieren
  124.                 string vorname;
  125.                 string name;
  126.                 string buch;
  127.                 char * cstr_vorname;
  128.                 char * cstr_name;
  129.                 char * cstr_buch;
  130.                 string z_u = "\n";
  131.                 int i=0;
  132.  
  133.                 cout << "num eingeben" << endl;
  134.                 cin.getline(eingabe,100);
  135.                 int num = atoi(eingabe);
  136.                 Datei.open("Datei.dat",ios::binary|ios::in|ios::out); // Datei öffnen
  137.                 cout << "err" << Datei.fail() << endl;
  138.                 while(i != num)
  139.                 {
  140.                       getline(Datei, s);
  141.                       i++;
  142.                 }
  143.  
  144.                 int temp = Datei.tellg(); // Position des Dateizeigers bekommen.
  145.                 Datei.seekp(temp, ios::beg); // Put auf Anfang
  146.                
  147. do //Schleife, damit das Programm öfter benutzt werden kann
  148. {
  149. cout << "\n" << endl;
  150. cout << "___________________________________________________________" << endl;
  151. cout << "[1]: Neuen Kunden" << endl;
  152. cout << "[2]: Kunden anzeigen" << endl;
  153. cout << "[3]: Datensatz ändern" << endl;
  154. cout << "[4]: Programm beenden" << endl;
  155.  
  156.             cin.getline(eingabe,100);
  157.  
  158.                 //##Vorname ändern##
  159.                 cout << "Vorname: " << endl;
  160.                 getline(cin,vorname);
  161.                 cstr_vorname = new char [vorname.size()+1];
  162.                 strcpy (cstr_vorname, vorname.c_str());
  163.                 for (int i=vorname.length(); i<15; i++)
  164.                     {
  165.                         strcat (cstr_vorname," ");
  166.                     }
  167.                 std::string vorname2(cstr_vorname);
  168.                 for(int i = 0; i < vorname2.length(); i++)
  169.                     {
  170.                         Datei.write((char*)&vorname2[i], sizeof(char));
  171.                     }
  172.                 //##Name ändern##
  173.                 cout << "Name: " << endl;
  174.                 getline(cin,name);
  175.                 cstr_name = new char [name.size()+1];
  176.                 strcpy (cstr_name, name.c_str());
  177.                 for (int i=name.length(); i<15; i++)
  178.                     {
  179.                         strcat (cstr_name," ");
  180.                     }
  181.                 strcat (cstr_name," Buch : ");
  182.                 std::string name2(cstr_name);
  183.                 for(int i = 0; i < name2.length(); i++)
  184.                     {
  185.                         Datei.write((char*)&name2[i], sizeof(char));
  186.                     }
  187.                
  188.                 //##Buch ändern##
  189.                 cout << "Buch: " << endl;
  190.                 getline(cin,buch);
  191.                 cstr_buch = new char [buch.size()+1];
  192.                 strcpy (cstr_buch, buch.c_str());
  193.                 for (int i=buch.length(); i<15; i++)
  194.                     {
  195.                         strcat (cstr_buch," ");
  196.                     }
  197.                 std::string buch2(cstr_buch);
  198.                 for(int i = 0; i < buch2.length(); i++)
  199.                     {
  200.                         Datei.write((char*)&buch2[i], sizeof(char));
  201.                     }
  202.    
  203.                 //##Zeilenumsprung anhängen##
  204.                 for(int i = 0; i < z_u.length(); i++)
  205.                     {
  206.                         Datei.write((char*)&z_u[i], sizeof(char));
  207.                     }
  208.                 cout << "error" << Datei.fail() << endl;
  209.                 Datei.close();
  210.             }
  211.  
  212. }        }   while (eingabe[0] != '4');
  213.             return 0;
  214.  
  215.  
  216.     }
Add Comment
Please, Sign In to add comment