Hallo zusammen,
ich muss für meine Ausbildung ein Programm schreiben, dass zum verschicken von Briefen und Paketen dienen soll. Jetzt hab ich mit nem Freund zusammen was hingezimmert, aber wir haben immer noch ein Problem bei der Eingabe der Adressdaten, weil er manche Eingabfelder überspringt, leider finden wir den Fehler nicht, vielleicht kann uns hier jmd. helfen.
Danke schon mal im voraus.
//Mailprogramm
#include
#include
using namespace std;
class Address
{
public :
string name,
street,
city,
country;
Address () {}; // Konstruktor ohne Elementenübergabe
Address ( const string& na, const string& st, const string& ci,
const string& co= „Deutschland“)
: name(na) , street(st) , city (ci) , country (co)
{};
// Funktionen von Addresse ----------------------------------------------------------------------------------------------
bool isValid() // Methode zur Überprüfung der Elemente inkl. Bedingungen zur Ausgabe
{
return (name != „“ && street != „“ && city != „“ && country != „“);
};
const string getName() { return name;};
const string getStreet() {return street;};
const string getCity() { return city;};
const string getCountry() {return country;};
void print ()
{
cout > nam;
cout > strasse;
cout >stadt;
cout >land;
Address test (nam,strasse,stadt,land);
if (test.isValid()==true) // Funktion wird auf Inhalte überprüft
{
name=nam; // Klassendatenelemente erhalten Eingabewerte
street=strasse;
city=stadt;
country = land;
return true;
}
else
return false; // Bei fehlerhaften Eingabewerten wird ‚false‘ ausgegeben (Attribute des
// Objektes ‚test‘ dürfen nicht verändert werden)
};
};
class Mail
{
protected: // Geschützte Datenelemente und Funktionen, Zugriff nur durch Mail selbst oder
// von Mail abgeleitete Klassen
long id;
Address from,to;
bool delivered;
public:
Mail (long i) : id(i) , delivered (false) {}; // "Konstruktor für Vererbung
Mail (long i, const Address& adrto, const Address& adrfrom)
: id(i) , from(adrfrom) , to(adrto) , delivered(false) {};
bool isDelivered() const { return delivered; } // Test ob Post ausgeliefert
bool deliver()
{
if (to.isValid())
{
delivered = true;
return true;
}
else
return false;
}
// Funktionen von ‚Mail‘ --------------------------------------------------------------------------
virtual void print();
bool scanfrom() // Differenzierung Absender/Empfänger, mit Empfänger als Bedingung
{ // für ‚deliver‘
cout Einen Brief aufgeben" Ein Packet aufgeben" Alle Postsendungen ausliefern" Die Liste ausdrucken " Beenden " > antwort;
if (antwort==1)
{
Letter *P=new Letter(i,Dagobert,Donald,false);
P->scanfrom ();
P->scanto ();
Liste[i]=P;
i++;
}
if (antwort==2)
{
Parcel *K=new Parcel(i,Dagobert,Donald);
K->scanfrom ();
K->scanto ();
Liste[i]=K;
i++;
}
if (antwort ==3)
{
int k=i;
do {
Liste [k-1]->deliver();
k–;
}while (k>0);
cout print();
j–;
}
while (j>0);
}
else{};
}
while (antwort !=0);
return 0;
}