Kann mir vieleicht einen Tipp geben, wie ich die Daten in eine Datei speicher und auslese?
#include <string>
#include <stdexcept>
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
const int ANZ=1;
// Klasse Adresse
class Adresse
{
private:
public:
std::string name;
std::string vorname;
std::string strasse;
int postleitzahl;
std::string stadt;
std::string get_name()
{return name;}
std::string get_vorname()
{return vorname;}
std::string get_strasse()
{return strasse;}
int get_postleitzahl()
{return postleitzahl;}
std::string get_stadt()
{return stadt;}
void set_name(std::string nam)
{name=nam;}
void set_vorname(std::string vor)
{vorname=vor;}
void set_strasse(std::string str)
{strasse=str;}
void set_postleitzahl(int plz)
{postleitzahl=plz;}
void set_stadt(std::string sta)
{stadt=sta;}
};
// Klasse GUI
class GUI
{
int auswahl;
public:
GUI()
{auswahl=7;}
int menueauswahl(void)
{
cout << "1 - Daten Eingabe" <<endl;
cout << "2 - Daten anzeigen" <<endl;
cout <<"3 - Daten \x84ndern" <<endl;
cout <<"4 - aus Datei anzeigen" <<endl;
cout <<"5 - Daten l\x94schen" <<endl;
cout <<"6 - in Datei speichern" <<endl;
cout << endl;
cout <<"7 - Programm beenden" <<endl;
cout << endl;
cout << "Eingabe=> ";
cin>> auswahl;
return auswahl;
}
int getAuswahl()
{
return auswahl;
}
//Eingabe
void eingabe(Adresse adr[])
{
int postleitzahl;
for (int i=0;i<ANZ;i++)
{
if(adr[i].get_name()=="#")
{
system("CLS");
cout <<"Eingabefolge: Name Vorname Strasse Postleitzahl Stadt"<<endl;
cout <<endl;
cout <<"Geben Sie den Namen ein : ";
std::string name;
cin >> name;
adr[i].set_name(name);
cout <<"Geben Sie den Vornamen ein : ";
std::string vorname;
cin >> vorname;
adr[i].set_vorname(vorname);
cout <<"Geben Sie die Strasse ein : ";
std::string strasse;
//getline(cin,strasse,' ');
cin >> strasse;
adr[i].set_strasse(strasse);
cout <<"Geben Sie die Postleitzahl ein : ";
cin >> postleitzahl;
adr[i].set_postleitzahl(postleitzahl);
if(!cin.good())
{
system("CLS");
cout<<"*** FEHLER ***"<<endl;
throw invalid_argument("Sie haben keine Zahl eingeben!");
}
cout <<"Geben Sie die Stadt ein : ";
std::string stadt;
cin >> stadt;
adr[i].set_stadt(stadt);
system("CLS");
cout <<"Soll eine weitere Adresse eingetragen werden?"<<endl;
cout <<endl;
cout <<"1 - Ja"<<endl;
cout <<"2 - Nein"<<endl;
cout <<endl;
cout << "Eingabe=> ";
int eingabe;
cin >> eingabe;
if(eingabe==1)
{
;
}
else
{
i=ANZ;
}
}
else{;}
}
system("CLS");
cout << "Daten vollst\x84ndig!!"<< endl;
cout << endl;
}
//Ausgabe
void ausgabe(Adresse adr[])
{
system("CLS");
for (int i=0;i<ANZ;i++)
{
cout <<"Zeile "<<i<<": ";
cout <<adr[i].get_name()<<" ";
cout <<adr[i].get_vorname()<<" ";
cout <<adr[i].get_strasse()<<" ";
cout <<adr[i].get_postleitzahl()<<" ";
cout <<adr[i].get_stadt()<<endl;
}
cout << endl;
system("PAUSE");
system("CLS");
}
//Bearbeitung
void bearbeitung(Adresse adr[])
{
GUI starteGUI;
starteGUI.ausgabe(adr);
cout << "Welche Zeile m\x94""chten Sie \x84ndern?"<<endl;
cout <<endl;
cout << "Eingabe=> ";
int zeile;
cin >> zeile;
system("CLS");
cout<<"\x8enderung der Zeile "<<zeile<<endl;
cout<<endl;
cout <<"Geben Sie den Namen ein : ";
std::string name;
cin >> name;
adr[zeile].set_name(name);
cout <<"Geben Sie den Vornamen ein : ";
std::string vorname;
cin >> vorname;
adr[zeile].set_vorname(vorname);
cout <<"Geben Sie die Strasse ein : ";
std::string strasse;
cin >> strasse;
adr[zeile].set_strasse(strasse);
cout <<"Geben Sie die Postleitzahl ein : ";
int postleitzahl;
cin >> postleitzahl;
adr[zeile].set_postleitzahl(postleitzahl);
cout <<"Geben Sie die Stadt ein : ";
std::string stadt;
cin >> stadt;
adr[zeile].set_stadt(stadt);
system("CLS");
cout<<"Daten der Zeile "<<zeile<<" ge\x84ndert"<<endl;
cout<<endl;
}
};
// Klasse DateiIO
class DateiIO
{
public:
DateiIO()
{
}
void speichern(Adresse adr[])
{cout<<"speichern"<<endl;
FILE *fp;
fp=fopen("test.txt","w");
fwrite(adr,sizeof(Adresse),50,fp);
fclose(fp);
}
};
// Klasse Steuer
class Steuer
{
DateiIO dat;
public:
Steuer()
{
int auswahl;
Adresse adr[ANZ];
GUI starteGUI;
for (int i=0;i<ANZ;i++)//init Datensätze
{
adr[i].set_name("#");//datensatz frei
adr[i].set_vorname("hier");
adr[i].set_strasse("ist");
adr[i].set_postleitzahl(0);
adr[i].set_stadt("abgelegt!");
}
int weiter=1;
while(weiter)
{
switch(starteGUI.menueauswahl())
{
case 1: starteGUI.eingabe(adr);break;
case 2: starteGUI.ausgabe(adr);break;
case 3: starteGUI.bearbeitung(adr);break;
case 4: dat.laden(adr);break;
case 5: break;
case 6: dat.speichern(adr);break;
case 7: system("CLS");weiter=0;break;
default: system("CLS");
cout << "Machen Sie eine Eingabe zwischen 1 und 7!" << endl;
cout << endl;
}if(!cin.good())
{
system("CLS");
cout<<"*** FEHLER***"<<endl;
throw invalid_argument("Sie haben keine Zahl eingeben!");
}
}
}
};
// Main Programm
int main(int argc, char *argv[])
{
try
{
Steuer start;
}
catch(invalid_argument ia)
{cout << "Argumenterror: "<<ia.what()<<endl;
}
catch(exception &e )
{ cout << "Exception"<<e.what()<<endl;
}
system("PAUSE");
return 0;
}