Binäre Adressverwaltung



  • schönen gudden Tach wir müssen in der Schule eine adressverwaltung schreiben.
    Ich hab sie so weit zum laufen gebracht doch leider leider läuft sie nicht binär. Weil wir sollen die datensätze binär abspeichern. Vielleicht kann mir ja jemand helfen... Hier mein Programm:

    #include <iostream.h>
    #include <conio.h>
    #include <math.h>
    #include <fstream.h>
    #include <string.h>
    #include <cstring.h>
    #include <windows.h>
    
    struct TSchueler
    {
    	string nachname;
    	string vorname;
    	string strasse;
    	string plz;
    	string ort;
    	string tel;
    };
    
    int menge;
    fstream file;
    TSchueler daten[100];
    
    void farben(int farbe)
    {
       SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), farbe);
    }
    
    //Adressen eingeben (1) --------------------------------------------------------
    void eingabe(TSchueler daten[])
    {
       clrscr();
       cout <<"Wie viele Adresslisten wollen Sie eingeben? ";
       cin >>menge;
       clrscr();
    
       cout<<"Bitte mit _ (Unterstrich) schreiben anstatt mit Leerzeichen!";
       cout <<endl <<endl;
       for (int i=1; i<=menge; i++)
       {
        cout <<i;
        cout <<". Adresse" <<endl;
        cout <<"Nachname:    ";
        getline(cin, daten[i].nachname);
        cout <<"Vorname :    ";
        getline(cin, daten[i].vorname);
        cout <<"Strasse:    ";
        getline(cin, daten[i].strasse);
        cout <<"PLZ     :    ";
        getline(cin, daten[i].plz);
        cout <<"ORT     :    ";
        getline(cin, daten[i].ort);
        cout <<"Tele.   :    ";
        getline(cin, daten[i].tel);
        cout <<endl;
       }
       clrscr();
    }
    
    //Adressliste AUSGEBEN (2)------------------------------------------------------
    
    void ausgeben(TSchueler daten[])
    {
       if (menge == 0)
       {
       clrscr();
       cout <<"Adressliste leer!" <<endl <<endl;
       cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
       getch();
       clrscr();
       }
       else
       {
       clrscr();
       cout <<"Ausgabe der Adressenliste" <<endl;
       cout <<"--------------------" <<endl;
       for (int i=1; i<=menge; i++)
       {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"ORT     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        cout <<endl;
        cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
        getch();
        clrscr();
        }
    }
    
    //SUCHEN (3) -------------------------------------------------------------------
    
    void suche(TSchueler daten[])
    {
    int x;
    string suche;
    clrscr();
    
    cout << "Wonach wollen sie suchen?" <<endl <<endl;
    farben(14);
    cout << "WICHTIG: "<<endl;
    farben(7);
    cout <<"Bitte auf Gross- und Klein-schreibung achten!" <<endl <<endl;
    cout << "Nachname   1" <<endl;
    cout << "Vorname    2" <<endl;
    cout << "Strasse    3" <<endl;
    cout << "Plz        4" <<endl;
    cout << "Ort        5" <<endl;
    cout << "Tele.      6" <<endl;
    cin >>x;
    clrscr();
    
    switch(x)
    {
    case 1:{
    cout <<"Bitte geben Sie den Nachnamen ein, nachdem Sie suchen wollen: ";
    cin >>suche;
    cout <<endl;
    for (int i=1; i<=menge; i++)
     {
       if (suche==daten[i].nachname)
        {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        }};break;
    
    case 2:{
    cout <<"Bitte geben Sie den Vornamen ein, nachdem Sie suchen wollen: ";
    cin >>suche;
    for (int i=1; i<=menge; i++)
     {
       if (suche==daten[i].vorname)
        {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        }};break;
    
        case 3:{
    cout <<"Bitte geben Sie die Strasse ein, nachdem Sie suchen wollen: ";
    cin >>suche;
    for (int i=1; i<=menge; i++)
     {
       if (suche==daten[i].strasse)
        {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        }};break;
    
        case 4:{
    cout <<"Bitte geben Sie die PLZ ein, nachder Sie suchen wollen: ";
    cin >>suche;
    for (int i=1; i<=menge; i++)
     {
       if (suche==daten[i].plz)
        {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        }};break;
    
           case 5:{
    cout <<"Bitte geben Sie den Ort ein, nachdem Sie suchen wollen: ";
    cin >>suche;
    for (int i=1; i<=menge; i++)
     {
       if (suche==daten[i].ort)
        {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        }};break;
    
           case 6:{
    cout <<"Bitte geben Sie die Telefonnummer ein, nachder Sie suchen wollen: ";
    cin >>suche;
    for (int i=1; i<=menge; i++)
     {
       if (suche==daten[i].tel)
        {
         cout <<i;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[i].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[i].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[i].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[i].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[i].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[i].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
        }
        }};break;
    }
    
    getch();
    clrscr();
    }
    
    //ADRESSE NACH POSITION AUSGEBEN (4)--------------------------------------------
    
    void ausgabe_pos (TSchueler daten[])
    {
    int pos;
    clrscr();
    cout <<"Bitten geben Sie die Position ein, die Sie ausgeben moechten: ";
    cin >>pos;
    clrscr();
    
         cout <<pos;
         cout <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[pos].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[pos].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[pos].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[pos].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[pos].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[pos].tel <<endl;
         cout <<"---------------------------";
         cout <<endl <<endl;
         cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
         getch();
         clrscr();
    
    }
    
    //EINZELNE ADRESSE LOESCHEN (5) ------------------------------------------------
    
    void einzeln_loeschen (TSchueler daten[])
    {
    char bestaetigung;
    int pos_ein;
    int y=0;
    
    clrscr();
    
    cout <<"Welche Position wollen Sie loeschen? ";
    cin >>pos_ein;
    
    if (pos_ein==0 || pos_ein > menge)
    {
    cout <<"Ungueltige Position";
    getch();
    clrscr();
    }
    
         cout <<pos_ein <<". Adresse" <<endl;
         cout <<"---------------------------" <<endl;
         cout <<"Nachname:      ";
         cout <<daten[pos_ein].nachname <<endl;
         cout <<"Vorname :      ";
         cout <<daten[pos_ein].vorname <<endl;
         cout <<"Strasse :      ";
         cout <<daten[pos_ein].strasse <<endl;
         cout <<"PLZ     :      ";
         cout <<daten[pos_ein].plz <<endl;
         cout <<"Ort     :      ";
         cout <<daten[pos_ein].ort <<endl;
         cout <<"Tele.   :      ";
         cout <<daten[pos_ein].tel <<endl;
         cout <<"---------------------------";
         cout <<endl;
         cout <<"Diese Adresse loeschen?" <<endl;
         cout <<"(j / n) ";
    
         y=pos_ein;
         cin >>bestaetigung;
         if (bestaetigung=='J' || bestaetigung=='j')
          {
           menge--;
           do
          {
           y++;
           daten[pos_ein]=daten[y];
           pos_ein++;
          }
           while(y<menge);
    
          cout <<endl;
          cout <<"Adresse geloescht!" <<endl <<endl;
          cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
          getch();
          clrscr();
          }
          else
          {
          cout <<endl;
          cout <<"Adresse nicht geloescht!" <<endl <<endl;
          cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
          getch();
          clrscr();
          }
       }
    
    //ADRESSEN ANFÜGEN (6) ---------------------------------------------------------
    
    void adr_einfuegen(TSchueler daten[])
    {
      int hinzufuegen;
      fstream file;
      clrscr();
      file.open("C:\\Adressliste.txt",ios::in|ios::out|ios::binary);
      file<<menge;
    
      cout <<"Anfuegen von Adressen!" <<endl;
      cout <<"Wie viele Adressen moechten Sie anhaengen? ";
      cin >> hinzufuegen;
      clrscr();
      cout<<"Bitte mit _ (Unterstrich) schreiben anstatt mit Leerzeichen!";
      cout <<endl <<endl;
    
       for (int i=1; i<=hinzufuegen; i++)
         {
         cout <<menge;
         cout <<". Adresse" <<endl;
         cout <<"Nachname:    ";
         getline(cin, daten[menge+1].nachname);
         cout <<"Vorname :    ";
         getline(cin, daten[menge+1].vorname);
         cout <<"Strasse :    ";
         getline(cin, daten[menge+1].strasse);
         cout <<"PLZ     :    ";
         getline(cin, daten[menge+1].plz);
         cout <<"Ort     :    ";
         getline(cin, daten[menge+1].ort);
         cout <<"Tele.   :    ";
         getline(cin, daten[menge+1].tel);
         cout <<endl;
    
          menge++;
          clrscr();
          }
      file<<menge<<endl;
      for (int i=1; i<=hinzufuegen; i++)
       {
         file<<daten[i].vorname   <<endl;
         file<<daten[i].nachname  <<endl;
         file<<daten[i].strasse   <<endl;
    
         file<<daten[i].plz       <<endl;
         file<<daten[i].ort       <<endl;
         file<<daten[i].tel   <<endl;
    
          }
    
          file.close ();
    
    }
    
    //ADRESSLISTE SORTIEREN (7)-----------------------------------------------------
    
    void sortieren(TSchueler daten[])
    {
    
     int sortieren;
     string zs;
    
     clrscr();
     cout <<"Wonach wollen Sie sortieren lassen?" <<endl <<endl;
     cout <<"Nachname   1" <<endl;
     cout <<"Vorname    2" <<endl;
     cout <<"Strasse    3" <<endl;
     cout <<"PLZ        4" <<endl;
     cout <<"Ort        5" <<endl;
      cin >>sortieren;
       clrscr();
    
     switch(sortieren)
     {
      case 1:{
      for(int i=1;i<=menge;i++)
      {
       for(int j=1;j<=menge;j++)
        {
          if(daten[i].nachname<daten[j].nachname)
             {
              zs=daten[i].nachname;
              daten[i].nachname=daten[j].nachname;
              daten[j].nachname=zs;
              zs=daten[i].vorname;
              daten[i].vorname=daten[j].vorname;
              daten[j].vorname=zs;
              zs=daten[i].strasse;
              daten[i].strasse=daten[j].strasse;
              daten[j].strasse=zs;
              zs=daten[i].plz;
              daten[i].plz=daten[j].plz;
              daten[j].plz=zs;
              zs=daten[i].ort;
              daten[i].ort=daten[j].ort;
              daten[j].ort=zs;
              }
            }
         }
      }
    clrscr();
    cout <<"Adressliste nach Nachnamen sortiert!" <<endl <<endl;
    cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
    getch();
    clrscr();
    break;
    
       case 2:{
      for(int i=1;i<=menge;i++)
      {
       for(int j=1;j<=menge;j++)
        {
          if(daten[i].vorname<daten[j].vorname)
             {
              zs=daten[i].nachname;
              daten[i].nachname=daten[j].nachname;
              daten[j].nachname=zs;
              zs=daten[i].vorname;
              daten[i].vorname=daten[j].vorname;
              daten[j].vorname=zs;
              zs=daten[i].strasse;
              daten[i].strasse=daten[j].strasse;
              daten[j].strasse=zs;
              zs=daten[i].plz;
              daten[i].plz=daten[j].plz;
              daten[j].plz=zs;
              zs=daten[i].ort;
              daten[i].ort=daten[j].ort;
              daten[j].ort=zs;
              }
            }
         }
      }
    clrscr();
    cout <<"Adressliste nach Vornamen sortiert!" <<endl <<endl;
    cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
    getch();
    clrscr();
    break;
    
    case 3:{
      for(int i=1;i<=menge;i++)
      {
       for(int j=1;j<=menge;j++)
        {
          if(daten[i].strasse<daten[j].strasse)
             {
              zs=daten[i].nachname;
              daten[i].nachname=daten[j].nachname;
              daten[j].nachname=zs;
              zs=daten[i].vorname;
              daten[i].vorname=daten[j].vorname;
              daten[j].vorname=zs;
              zs=daten[i].strasse;
              daten[i].strasse=daten[j].strasse;
              daten[j].strasse=zs;
              zs=daten[i].plz;
              daten[i].plz=daten[j].plz;
              daten[j].plz=zs;
              zs=daten[i].ort;
              daten[i].ort=daten[j].ort;
              daten[j].ort=zs;
              }
            }
         }
      }
    clrscr();
    cout <<"Adressliste nach Strassen sortiert!" <<endl <<endl;
    cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
    getch();
    clrscr();
    break;
    
    case 4:{
      for(int i=1;i<=menge;i++)
      {
       for(int j=1;j<=menge;j++)
        {
          if(daten[i].plz<daten[j].plz)
             {
              zs=daten[i].nachname;
              daten[i].nachname=daten[j].nachname;
              daten[j].nachname=zs;
              zs=daten[i].vorname;
              daten[i].vorname=daten[j].vorname;
              daten[j].vorname=zs;
              zs=daten[i].strasse;
              daten[i].strasse=daten[j].strasse;
              daten[j].strasse=zs;
              zs=daten[i].plz;
              daten[i].plz=daten[j].plz;
              daten[j].plz=zs;
              zs=daten[i].ort;
              daten[i].ort=daten[j].ort;
              daten[j].ort=zs;
              }
            }
         }
      }
    clrscr();
    cout <<"Adressliste nach PLZ sortiert!" <<endl <<endl;
    cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
    getch();
    clrscr();
    break;
    
    case 5:{
      for(int i=1;i<=menge;i++)
      {
       for(int j=1;j<=menge;j++)
        {
          if(daten[i].ort<daten[j].ort)
             {
              zs=daten[i].nachname;
              daten[i].nachname=daten[j].nachname;
              daten[j].nachname=zs;
              zs=daten[i].vorname;
              daten[i].vorname=daten[j].vorname;
              daten[j].vorname=zs;
              zs=daten[i].strasse;
              daten[i].strasse=daten[j].strasse;
              daten[j].strasse=zs;
              zs=daten[i].plz;
              daten[i].plz=daten[j].plz;
              daten[j].plz=zs;
              zs=daten[i].ort;
              daten[i].ort=daten[j].ort;
              daten[j].ort=zs;
              }
            }
         }
      }
    clrscr();
    cout <<"Adressliste nach Orten sortiert!" <<endl <<endl;
    cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
    getch();
    clrscr();
    break;
    
    }
    }
    
    //ADRESSLISTE LOESCHEN (8) -----------------------------------------------------
    
    void adressliste_loeschen (TSchueler daten[])
    {
      char eingabe;
      fstream file;
       clrscr();
    
      cout <<"Loeschen der Adressliste! Fortfahren? " <<endl;
      cout <<"(j / n) ";
      cin>>eingabe;
        if (eingabe=='j' || eingabe=='J')
        {
        file.open("C:\\Adressliste.txt",ios::in|ios::out|ios::binary);
        file.close();
        menge=0;
        cout <<endl;
        cout <<"Adressliste geloescht!" <<endl <<endl;
        cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
        getch();
        clrscr();
        }
        else
        {
        cout <<endl;
        cout <<"Adressliste nicht geloescht!" <<endl <<endl;
        cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
        getch();
        clrscr();
        }
    
     }
    
    //SPEICHERN (9) ----------------------------------------------------------------
    
    void speichern (TSchueler daten[])
    {
    string Dateiname="C:\\Adressliste.txt";
    file.open ("C:\\Adressliste.txt",ios::out|ios::binary);
      file<< menge <<endl;
    
        for (int i=1;i<=menge;i++)
          {
            file<<daten[i].nachname <<endl;
            file<<daten[i].vorname  <<endl;
            file<<daten[i].strasse  <<endl;
            file<<daten[i].plz      <<endl;
            file<<daten[i].ort      <<endl;
            file<<daten[i].tel    <<endl;
            }
            file.write((char*)&daten, sizeof(daten));
            file.close ();
            clrscr();                                                          
            cout <<"Adressliste unter C:/ gespeichert!" <<endl <<endl;
            cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
            getch();
            clrscr();
    
    }
    
    //Oeffnen (10)------------------------------------------------------------------
    void oeffnen(TSchueler daten[])
    {
        clrscr();
    
        file.open ("C:\\Adressliste.txt",ios::in|ios::out|ios::binary);
        file>> menge;
    
        for (int i=1;i<=menge;i++)
          {
            file>>daten[i].nachname ;
            file>>daten[i].vorname  ;
            file>>daten[i].strasse  ;
            file>>daten[i].plz      ;
            file>>daten[i].ort      ;
            file>>daten[i].tel      ;
            }
        cout <<"Adressliste geoeffnet!" <<endl <<endl;
        cout <<"Druecken Sie eine beliebige Taste um zurueck ins Hauptmenue zu gelangen!";
        getch();
        clrscr();
    }
    
    //------------------------------------------------------------------------------
    
    void menue()
    {
       cout <<endl;
       cout <<"  -----------------------------------------   "<<endl;
       cout <<" |                                         |  "<<endl;
       cout <<" | Sie haben folgende Optionen zur Auswahl |  "<<endl;
       cout <<" |                                         |  "<<endl;
       cout <<" | 0  = Beenden                            |  "<<endl;
       cout <<" | 1  = Adressliste neu eingeben           |  "<<endl;
       cout <<" | 2  = Adressliste ausgeben               |  "<<endl;
       cout <<" | 3  = Adresse suchen                     |  "<<endl;
       cout <<" | 4  = Adresse nach Position ausgeben     |  "<<endl;
       cout <<" | 5  = Adresse loeschen                   |  "<<endl;
       cout <<" | 6  = Adresse einfuegen                  |  "<<endl;
       cout <<" | 7  = Adressliste sortieren              |  "<<endl;
       cout <<" | 8  = Adressliste loeschen               |  "<<endl;
       cout <<" | 9  = Adressliste speichern              |  "<<endl;
       cout <<" | 10 = Adressliste oeffnen                |  "<<endl;
       cout <<" |                                         |  "<<endl;
       cout <<"  -----------------------------------------   "<<endl <<endl;
       cout <<" Geben Sie nun bitte eine der Zahlen ein: ";
    }
    
    //MAIN -------------------------------------------------------------------------
    
    int main()
    {
    int auswahl;
    cout <<"            *******************************************************" <<endl;
    cout <<"            ******* Willkommen im Adressverwaltungsprogramm *******" <<endl;
    cout <<"            *******************************************************" <<endl;
    cout <<"                               (Pascal Luebeck)" <<endl <<endl;
    cout <<"                      Druecken Sie eine beliebige Taste " <<endl;
    cout <<"                       um ins Hauptmenue zu gelangen!" <<endl;
    
    getch();
    clrscr();
    
    //Auswahl Menue ----------------------------------------------------------------
    do
    {
     menue();
     cin >> auswahl;
    switch(auswahl)
    {
    case 0:  cout <<endl <<" Programm Beendet!";;break;
    case 1:  eingabe(daten);break;
    case 2:  ausgeben(daten);break;
    case 3:  suche(daten);break;
    case 4:  ausgabe_pos(daten);break;
    case 5:  einzeln_loeschen(daten);;break;
    case 6:  adr_einfuegen(daten);break;
    case 7:  sortieren(daten);break;
    case 8:  adressliste_loeschen(daten);break;
    case 9:  speichern(daten);break;
    case 10: oeffnen(daten);break;
    default: clrscr();
    cout <<endl;
    cout <<"Dies ist leider eine ungueltige Zahl!" <<endl;
    cout <<"-------------------------------------";
    cout <<endl;;break;
    }
    //------------------------------------------------------------------------------
     }while(auswahl != 0);
    getch();
    }
    


  • Was genau verstehst Du unter binär? Du schreibst schon binär in die Datei. Nur sind Deine Daten halt allesamt strings. Da sieht die binär-Speicherung halt noch recht übersichtlich aus.

    edit: wenn Du schon so nen ellenlangen Code hier reinschreibst, dann benutze wenigstens Code-Tags, so liest sich das sicher niemand genauer durch.



  • also ne das ist mein erster beitrag gewesen.. wie macht man das mit dem code tags??? ja ich hab alles in strings und muss es so ändern das es in binär gespeichert wird... könnte mal jemand der zeit hat vll. so ändern das alles in binär geändertz ist wäre sau nett...



  • also wir sollen noch was mit f.write und so einbringen..
    das versteh ich net



  • malkavianer schrieb:

    also wir sollen noch was mit f.write und so einbringen..
    das versteh ich net

    Glaube du meinst Filestreams...dazu solltest du dir vllt das mal angucken 😉



  • Doch leider schreiben wir C++ und kein C....

    könnte jemand mein Programm ewin bissl umschreiben weil ich hier verzweifel..



  • malkavianer schrieb:

    Doch leider schreiben wir C++ und kein C....

    könnte jemand mein Programm ewin bissl umschreiben weil ich hier verzweifel..

    😃 LOL 😃 , das ist kein C sondern C++...Streams sind C++

    Vllt. solltest du dir mal ein Tutorial in C++ durchlesen oder besser noch: Kauf dir ein gutes Buch und lern die Grundlagen 🙄



  • Ich muss die verwaltung am montag angeben kann mir jemand ein gefallen tun und das programm umändern bitte!! bitte melden unter pascal_luebeck@gmx.de
    oder icq 294312501 🕶 🕶



  • malkavianer schrieb:

    wie macht man das mit dem code tags???

    Beispiel (mit C++CodeTag):

    #include <iostream>
    using namespace std;
    
    int main()
    {
       return (0);
    }
    

    und ohne:

    #include <iostream>
    using namespace std;

    int main()
    {
    return (0);
    }
    ______________________________________________________________

    Also das:

    malkavianer schrieb:

    muss es so ändern das es in binär gespeichert wird

    und das:

    malkavianer schrieb:

    also wir sollen noch was mit f.write und so einbringen..

    und das:

    malkavianer schrieb:

    Doch leider schreiben wir C++ und kein C....

    Bestätigt, das du keine Ahnung hast ... du kannst den Code gar nicht selbst geschrieben haben...
    Wenn du bis Montag Zeit hast...ist das 'reichlich'...vorausgesetzt du fängst langsam mal an...dich in C++ ''halbwegs'' einzuarbeiten...glaube kaum, dass du jmden finden wirst, der deine Arbeit erledigen wird 👎



  • Tjaaa.. das sind se, die durchgeknallten Blutsauger..
    "Mach meine Hausaufgaben, aber wehe, du machst sie falsch"

    ich denke, du solltest sowas in der Richtung tun:

    struct Person {
      char name[60];
      int  Alter;
      ...
    };
    
    main {
        vector<Person*> *datenbank = new (vector<Person*>);
    }
    

    dann musst du eine Funktion laden und eine Funktion speichern schreiben. Ungefähr so:

    void save (vector<Person*> *db) {
       ofstream fp("data.bin",ios_base::binary);
        ..
       // für jeden Eintrag in der db (siehe STL vector::iterator)
          fp.write(einzelPerson, sizeof(Person));
    
      fp.close();
    }
    

    laden wäre ja auch geil...
    Könnte irgendwie so aussehen..

    vector<Person*> *load (const char *filename) {
       ifstream fp(filename, ios_base::binary);
        ..
       Person *p;
       vector<Person*> *db = new vector<Person*>;
       while (!fp.eof()) {
          p = new Person;
          fp.read(reinterpret_cast<char*> p, sizeof(Person));
          db->push_back(p);
    
      fp.close();
    
      return db;
    }
    

    not proofed!

    Weiterhin solltest du etwas vorsichtiger sein, nicht, dass die Camarilla mitbekommt, dass du öffentlich auftrittst..



  • malkavianer schrieb:

    Ich muss die verwaltung am montag angeben kann mir jemand ein gefallen tun und das programm umändern bitte!! bitte melden unter pascal_luebeck@gmx.de
    oder icq 294312501 🕶 🕶

    Nein. Wir machen keine Hausaufgaben (außer man bezahlt uns dafür).



  • ich wollte doch nur das mir jemand z.b. die eingabe umschreibt damit ich weiß wie ich weiter komm.


Anmelden zum Antworten