Bestellungs Programm



  • Entwickeln Sie eine C++-Anwendung, die den Anwender zur Eingabe einer Bestellung auffordert. Der Anwender muss hierbei der Reihe nach die bestellte Ware, eine Lieferanschrift, Kreditkartennummer und Ablaufdatum der Kreditkarte eingeben. Die Daten sollen hierbei in geeigneten Variablen unter Zuhilfenahme benutzerdefinierter Strukturen und Enumerationen gespeichert werden. Lieferanschrift und Kreditkartendaten sollen jeweils in einer eigenen Struktur gespeichert werden. Die Bestellung wird ebenfalls in einer eigenen Struktur gespeichert, die sich der anderen beiden Strukturen bedient. Außerdem soll das Land, das in der Lieferanschrift gespeichert wird, vom Typ einer Enumeration sein.

    So siehts im Moment aus:

    #include <iostream>
    #include <string>
    using namespace std;
    
    enum welt
    {
    	Deutschland, Schweiz, Oesterreich,
    }land1 = Deutschland, land2 = Schweiz, land3 = Oesterreich;
    
    struct lieferanschrift
    {
    	welt land;
    	int lieferland;
    	string plz;
    	string ort;
    	string strasse;
    	string hausnummer;
    };
    
    struct kontodaten
    {
    	string kreditkartennummer;
    	string ablaufdatum;
    };
    
    struct bestellung
    {
    	string ware;
    	lieferanschrift anschrift;
    	kontodaten konto;
    };
    
    int main()
    {
    	bestellung artikel;
    	lieferanschrift angaben;
    	kontodaten konto;
    
    	cout << "Was wollens sie bestellen?\n";
    	cin >> artikel.ware;
    	cout << "Geben sie bitte ihre ihre Lieferanschrift an.\n";
    	cout << "Das Land:\n";
    	cout << "Für Deutschland: 0 | Für Schweiz: 1 | Für Oesterreich: 2 | Für ein anderes: 3\n";
    	cin >> angaben.lieferland;
    	cout << "Ihre Postleizahl\n";
    	cin >> angaben.plz;
    	cout << "Ihr Ort\n";
    	cin >> angaben.ort;
    	cout << "Ihre Strasse:\n";
    	cin >> angaben.strasse;
    	cout << "Ihre Hausnummer\n";
    	cin >> angaben.hausnummer;
    	cout << "Nun noch ihre Kontodaten:\n";
    	cout << "Ihre Kreditkartennummer:\n";
    	cin >> konto.kreditkartennummer;
    	cout << "Ablaufdatum der Kreditkarte:\n";
    	cin >> konto.ablaufdatum;
    }
    

    Leider habe ich kein Plan was mit

    Außerdem soll das Land, das in der Lieferanschrift gespeichert wird, vom Typ einer Enumeration sein.

    (habe mir mehre Tutorial dazu durchgelesen)
    und ob ich

    Die Bestellung wird ebenfalls in einer eigenen Struktur gespeichert, die sich der anderen beiden Strukturen bedient.

    richtig verstanden habe, weiß ich auch nicht. :|



  • Hi!

    Jo, soweit sogut! Um mal an dein Design anzuknüpfen:

    enum Land
    {
    	DEUTSCHLAND,
    	SCHWEIZ,
    	OESTERREICH
    };
    
    enum Anrede
    {
    	HERR,
    	FRAU,
    	UNDEFINIERT
    };
    
    struct Anschrift
    {
    	Anrede anrede;
    	std::string vorname;
    	std::string name;
    	std::string strasse;
    	std::string ort;
    	WORD plz;
    	WORD hausnr;
    	Land land;
    
    	Anschrift()
    	: anrede( UNDEFINIERT ), vorname( "" ), name( "" ), 
    	  strasse( "" ), ort( "" ), plz( 0 ), hausnr( 0 ), land( DEUTSCHLAND )
    	{}
    };
    
    struct Kontodaten
    {
    	DWORD kontonum;
    	std::auto_ptr< Datum > datum; // Klasse Datum, kann auch string, dword... sein
    
    	Kontodaten()
    	: nummer( 0 ), datum( new Datum( 2006, 01, 01 ) )
    	{}
    };
    
    struct Bestellung
    {
    	WORD artikelnr;
    	std::auto_ptr< Anschrift > anschrift;
    	std::auto_ptr< Kontodaten > kontodaten;
    
    	Bestellung()
    	: artikelnr( 0 ), anschrift( new Anschrift() ), kontodaten( new Kontodaten() )
    	{}
    };
    

    grüße


Anmelden zum Antworten