main probs
-
Hi,
habe ein programm soweit gecodet nur weis ich jetzt im mom nicht wie ich das im main testen sollEs ist eine Bank die 10 Konten verwaltet, mit einem zeiger Konten auf das Feld Konten. Jetzt möchte ich alle 10 Konten eröffnen aber wie????
das sind meine 2 Klassen
class Konto { public: char Name[20]; int Kontonummer; long Kontostand; public: Konto(); ~Konto(); virtual bool eroeffnen(char *Name, int Kontonummer); virtual bool einzahlen(long Summe); virtual bool abheben(long Summe); virtual bool aufloesen(); void ausgeben(); }; class Bank { private: Konto * pKonten[10]; long MaxKredit(); public: int Eroeffnen(char* Name); int Eroeffnen(char* Name, int Typ); bool Einzahlen(int Kontonummer, long Summe); bool Abheben(int Kontonummer, long Summe); bool Aufloesen(int Kontonummer); void ausgebenAlles(); Bank(); ~Bank(); };
und das ist die realisierung von eröffnen
int Bank::Eroeffnen(char *Name) { for (int x; x<10; x++) { if (pKonten[x]) { pKonten[x]=new Konto; pKonten[x]->eroeffnen(Name,x+1); return x+1; } } cout<<"Error Konto kann nicht eroeffnet werden"<<Name<<endl; return 0; }
Hab im main folgendes stehen
void main() { Bank b; Konto k; strcpy(k.Name, "Timo"); k.Kontonummer=1111; k.Kontostand=0; b.Eroeffnen(k); }
und das wollte ich einfach 10 mal wiederholen bis ich 10 konten eröffnet habe, bekomm aber die Fehlermeldung:
'int __thiscall Bank::Eroeffnen(char *)' : Konvertierung des Parameters 1 von 'class Konto' in 'char *' nicht moeglichBitte um Hilfe. Wird warscheinlich nicht so schwer sein aber ich komm einfach nicht drauf.
jum
-
Die Fehlermeldung kommt daher, dass
int Bank::Eroeffnen(char *Name)
einen char* als Parameter erwartet, du ihm aber ein k-Objekt übergibst.
Änder das dann sollte es gehen.
-
in klitzekleines Bsp. bitte. wie ich das im main ungefähr machen müsste!?!?
-
Ich verstehe leider nicht ganz, was du machen willst, aber so sollte es gehen:
void Bank::Eroeffnen(Konto *k, int nummer) { pKonten[nummer] = k; }
Ich habe aber das Gefühl du vermischst da einige Sachen. Warum hast du den in deiner Eroeffnen Methode alle Konten initialisert, wenn du die nacher übergeben willst??
-
weil ich alle 10 konten aufeinmal eröffnen soll. Ok dann vergesst mein main und sagt mir bitte wie ich nu alle 10 konten hintereinander eröffnen kann
Thx schon mal
-
Ich würde zuerst von Hand zehn Konten machen, die sollten ja alle eine andere Nummer und verschieden Namen haben.
Dann gebe ich eins nach dem anderen der Bank::eroeffne Methode oder als Array...
-
ok theoretisch hab ich das verstanden aber ich bitte sehr um ein Praktisches beispiel damit ich das auch sehe wäre echt nett
-
Kann mir jemand dafür ein Beispiel geben? Für euch ist das bestimmt kein Problem, aber ich beis mir da irgendwie voll die Zähne aus
Thx schon mal jum