//*******************************************
//***  Takts Adress-Verwaltungs Programm  ***
//***          www.excluded.org           ***
//*******************************************

#include <iostream>
#include <string>
#include <fstream>



using namespace std;

struct Adresse
{
	string name;
	string vorname;
	string telefon;
        string handy;
        string email;
        string icq;
	string strasse;
	string nummer;
	string postleitzahl;
	string ort;

};

int adresse_speichern (Adresse adresse)
{
	ofstream out ("adressen.txt"
		, ios::app);
	if(!out)
	{
		cout << "\nDatei kann nicht geöffnet werden!" << endl;
		return 1;
	}
	cout << "\nGebem Sie die Adresse wie folgt ein!" << endl;
	cout << "Name: ";
	cin >> adresse.name;
	out << adresse.name << " ";
	cout << "Vorname: ";
	cin >> adresse.vorname;
	out << adresse.vorname << " ";
	cout << "Telefon: ";
	cin >> adresse.telefon;
	out << adresse.telefon << " ";
    	cout << "Handy: ";
   	cin >> adresse.handy;
    	out << adresse.handy << " ";
    	cout << "E-Mail: ";
    	cin >> adresse.email;
    	out << adresse.email << " ";
    	cout << "ICQ: ";
    	cin >> adresse.icq;
    	out << adresse.icq << " ";
	cout << "Strasse: ";
	cin >> adresse.strasse;
	out << adresse.strasse << " ";
	cout << "Nummer: ";
	cin >> adresse.nummer;
	out << adresse.nummer << " ";
	cout << "Postleizahl: ";
	cin >> adresse.postleitzahl;
	out << adresse.postleitzahl << " ";
	cout << "Ort: ";
	cin >> adresse.ort;
	out << adresse.ort << endl;
	cout << endl;
	out.close();
	return 0;
};

int adresse_suchen (Adresse adresse)
{
	string suchwort;
	int zaehler = 0;
	ifstream in ("adressen.txt");  //adressen.txt must be existing!
	if(!in)
	{
		cout << "\nDatei kann nicht geoeffnet werden!" << endl;
		return 1;
	}
	cout << "\nGeben Sie den Suchtext ein: ";
	cin >> suchwort;
	while(!in.eof())
	{
		in >> adresse.name;
		in >> adresse.vorname;
		in >> adresse.telefon;
                in >> adresse.handy;
                in >> adresse.email;
                in >> adresse.icq;
		in >> adresse.strasse;
		in >> adresse.nummer;
		in >> adresse.postleitzahl;
		in >> adresse.ort;
		if(adresse.name == suchwort || adresse.vorname == suchwort
			|| adresse.telefon == suchwort || adresse.handy == suchwort
            		|| adresse.email == suchwort
            		|| adresse.icq == suchwort || adresse.strasse == suchwort
			|| adresse.nummer == suchwort || adresse.postleitzahl == suchwort
			|| adresse.ort == suchwort)
		{
			zaehler++;
			cout << endl;
			cout << adresse.name << " ";
			cout << adresse.vorname << endl;
			cout << "tel." << adresse.telefon << endl;
          		cout << "handy " << adresse.handy << endl;
          		cout << "#" << adresse.icq << endl;
            		cout << adresse.email << endl;
			cout << adresse.strasse << " ";
			cout << adresse.nummer << endl;
			cout << adresse.postleitzahl << " ";
			cout << adresse.ort << endl;
		}
	}
	cout << endl;
	cout << zaehler << " Adresse(n) gefunden." << endl;
	in.close();
	return 0;
};

int main()
{
    cout << "************************************************************\n";
    cout << "***     Welcome to Takts Adressverwaltungs Programm      ***\n";
    cout << "***       (c)2002 by Oliver Herms Alias Taktloss         ***\n";
    cout << "***                  www.excluded.org                    ***\n";
    cout << "***      #141665405      email: Takt@excluded.org        ***\n";
    cout << "************************************************************\n";
	Adresse anschrift;
	int auswahl;
	for(;;)
	{
		do
		{
			cout << "\n1 - Neue Adresse speichern";
			cout << "\n2 - Adresse suchen";
			cout << "\n3 - Programm beenden";
			cout << endl << endl;
			cin >> auswahl;
		}while (auswahl < 1 || auswahl > 3);
		switch(auswahl)
		{
		case 1:
			adresse_speichern(anschrift);
			break;
		case 2:
			adresse_suchen(anschrift);
			break;
		case 3:
			return 0;
		}
	}
}






