Problem bei 2 Klassen und vectoren
-
Guten Abend!
Also ich habe ein Programm bei dem man verschiedene Ferienangebote eintragen kann, die dann in einem vector gespeichert werden. Erstmal der Code:
ferienprogramm.h
#ifndef _ferienprogramm_ #define _ferienprogramm_ #include "angebot.h" class ferienprogramm { private: vector<angebot> angebotsliste; public: //verschiedene Funktionen void kindanmelden(); }; #endifangebot.h
#ifndef _angebot_ #define _angebot_ #include <iostream> #include <vector> #include <string> using namespace std; struct kind { string vorname; string nachname; }; class angebot { private: int plaetze; string titel; int id; vector<kind> teilnehmer; bool voll; int plaetzefrei; public: //verschiedene Funktionen void kindaufnehmen(kind kind,int); }; #endifferienprogramm.cpp
void ferienprogramm::kindanmelden() { angebot voll; kind kindauf; int auswahl; string vorname, nachname; cout<<"Waehlen sie ein Angebot: "; cin>>auswahl; cout<<endl; auswahl = auswahl - 1; cout<<"Geben sie den Vornamen des Kindes an: "; cin>>kindauf.vorname; cout<<endl; cout<<"Geben sie den Nachnamen des Kindes an: "; cin>>kindauf.nachname; cout<<endl; voll.kindaufnehmen(kindauf,auswahl); }angebot.cpp
void angebot::kindaufnehmen(kind kind, int auswahl) { ferienprogramm liste; teilnehmer.push_back(kind); liste.angebotsliste.push_back(teilnehmer[]); }Zu meinem Problem:
Der Benutzer gibt am Anfang ein Angebot ein mit Titel und Anzahl der Plätze, dass wird dann im vector angebotsliste gespeichert. Später im Programm kann man dann Namen eingeben die dann im vector teilnehmer gespeichert werden. Mein Problem ist jetzt das ich den vector teilnehmer im vector angebotsliste speichern möchte, allerdings fehlt mir da im moment wohl die richtige idee. Gedacht war es so, dass der Vor-, Nachname und die Nummer des Angebotes eingegeben werden, dass wird dann an die Funktion "voll.kindaufnehmen(kindauf,auswahl);" weitergegeben und dort soll dann der vector Teilnehmer befüllt und gespeichert werden. Bisher funktioniert das Speichern von teilnehmer in angebotsliste aber nicht.
Schonmal Danke und Grüße
-
Dein Objekte leben an merkwürdigen Orten, die nicht zu ihrer Funktion passen.
Sollte es nicht ein ferienprogramm geben, in dem es die einzelnen angebote gibt, bei denen man dann sein kind anmelden kann, welches wieder ganz woanders lebt?
Momentan erstellst du in ferienprogramm::kindanmelden ein lokales angebot (aslo nur für diese Funktion), bei dem du ein ebenso lokales kind anmeldest, welches dabei sogar nochmal kopiert wird. Nach Ende der Funktion ist dann alles wieder weg.
Noch komischer ist angebot::kindanmelden, in dem du ein lokales ferienprogramm erstellst, dem du dann eine teilnehmerliste (teilnehmer wofür überhaupt?) übergibst, mit dem es gar nicht anfangen kann.