Griffindor01
Cadet 3rd Year
- Registriert
- Feb. 2021
- Beiträge
- 33
Hallo!
Ich bin gerade dabei, ein vorgegebenes Programm zum Thema binäre Assoziationen zu Programmieren, komme aber seit Stunden an einem gewissen Punkt nicht weiter und würde euch daher gerne um Hilfe bitten.
Unten ist die Aufgabenstellung dargestellt. Im Grunde ist die Aufgabe, ein Programm zu programmieren, in dem Haltern Fahrzeuge zugewiesen werden und zwischen Halter + Fahrzeug eine binäre Assoziation entstehen soll.
Nachfolgend darunter meine Klassen. Ich komme bei der letzten Aufgabe, dem Iterieren nicht weiter, und habe wahrscheinlich schon davor einen Denkfehler im Code, den ich aber leider nicht finde.
Entwerfen Sie die zwei Klassen Fahrzeug und Halter mit einigen sinnvollen Attributen.
Ein Halter kann keine oder viele Fahrzeuge haben und kennt seine Fahrzeuge. Ein Fahrzeug
gehört keinem oder einem Halter und kennt diesen nicht.
Implementieren Sie diese binäre Assoziation und schreiben Sie ein Testprogramm, in dem
mindestens zwei Halter mit jeweils mindestens zwei ihnen zugeordneten Fahrzeugen erzeugt
werden.
Ändern Sie die Beziehung so, dass ein Fahrzeug-Objekt sein Halter-Objekt kennt.
Verwalten Sie die Halter-Objekte mittels einer Liste List<T>.
Durchlaufen (iterieren) Sie die Liste mit den Halter-Objekten und lassen Sie sich die Daten
des Halters sowie die ihm zugeordneten Fahrzeug-Objekte anzeigen.
Ich bin gerade dabei, ein vorgegebenes Programm zum Thema binäre Assoziationen zu Programmieren, komme aber seit Stunden an einem gewissen Punkt nicht weiter und würde euch daher gerne um Hilfe bitten.
Unten ist die Aufgabenstellung dargestellt. Im Grunde ist die Aufgabe, ein Programm zu programmieren, in dem Haltern Fahrzeuge zugewiesen werden und zwischen Halter + Fahrzeug eine binäre Assoziation entstehen soll.
Nachfolgend darunter meine Klassen. Ich komme bei der letzten Aufgabe, dem Iterieren nicht weiter, und habe wahrscheinlich schon davor einen Denkfehler im Code, den ich aber leider nicht finde.
Entwerfen Sie die zwei Klassen Fahrzeug und Halter mit einigen sinnvollen Attributen.
Ein Halter kann keine oder viele Fahrzeuge haben und kennt seine Fahrzeuge. Ein Fahrzeug
gehört keinem oder einem Halter und kennt diesen nicht.
Implementieren Sie diese binäre Assoziation und schreiben Sie ein Testprogramm, in dem
mindestens zwei Halter mit jeweils mindestens zwei ihnen zugeordneten Fahrzeugen erzeugt
werden.
Ändern Sie die Beziehung so, dass ein Fahrzeug-Objekt sein Halter-Objekt kennt.
Verwalten Sie die Halter-Objekte mittels einer Liste List<T>.
Durchlaufen (iterieren) Sie die Liste mit den Halter-Objekten und lassen Sie sich die Daten
des Halters sowie die ihm zugeordneten Fahrzeug-Objekte anzeigen.
C#:
[/B]
DIE MAIN-KLASSE[/B]
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Willkommen in meinem Programm zu binären Assoziationen!");
// Erstellen wir zunächst einmal 3 Halter.
Halter Bob = new Halter("Bob", "Buddler", new DateTime(2001, 04, 02), "München");
Halter James = new Halter("James", "Johnson", new DateTime(1999, 01, 07), "Saarbrücken");
Halter Jochen = new Halter("Jochen", "Jochbein", new DateTime(2002, 02, 09), "Saarbrücken");
Halter Rudi = new Halter("Rudi", "Rudolfsen", new DateTime(2000, 06, 02), "Norderstedt");
// Autos den Haltern zuweisen.
Bob.kaufeFahrzeug(new Fahrzeug("Honda", "Weiß", 140, 9200));
Bob.kaufeFahrzeug(new Fahrzeug("Audi", "Gelb", 120, 6200));
James.kaufeFahrzeug(new Fahrzeug("Opel", "Türkis", 152, 7650));
Rudi.kaufeFahrzeug(new Fahrzeug("Toyota", "Schwarz", 182, 10500));
Rudi.kaufeFahrzeug(new Fahrzeug("Dacia", "Schwarz", 157, 5200));
// Nun die Halter-Liste Iterieren (Durchlaufen), dabei Daten des Halters + zugeordneter Fahrzeuge anzeigen
static void zeigeHalterUndFahrzeuge()
{
// Aufträge der Kunden ausgeben
Console.ReadLine();
}
}
}
}
HALTER-KLASSE:
class Halter
{
private string vorname;
private string nachname;
private DateTime geburtsdatum;
private string wohnort;
private List<Fahrzeug> fahrzeuge;
private List<Halter> fahrzeughalter;
public List<Fahrzeug> Fahrzeuge
{
get { return fahrzeuge; }
set { fahrzeuge = value; } // Entfernen
}
public List<Halter> Fahrzeughalter
{
get { return fahrzeughalter; }
set { fahrzeughalter = value; }
}
public string Vorname
{
get { return vorname; }
set { vorname = value; }
}
public string Nachname
{
get { return nachname; }
set { nachname = value; }
}
public DateTime Geburtsdatum
{
get { return geburtsdatum; }
set { geburtsdatum = value; }
}
public string Wohnort
{
get { return wohnort; }
set { wohnort = value; }
}
public Halter(string _vorname, string _nachname, DateTime _geburtsdatum, string _wohnort)
{
vorname = _vorname;
nachname = _nachname;
geburtsdatum = _geburtsdatum;
wohnort = _wohnort;
}
public void kaufeFahrzeug(Fahrzeug fz) // Fahrer soll Fahrzeug zugeordnet werden
{
fz.Halter = this;
this.Fahrzeug = fz;
fahrzeuge.Add(fz);
fahrzeughalter.Add(this);
}
public void verkaufeFahrzeug(int _fahrzeugnummer)
{
if (_fahrzeugnummer >= 0 && _fahrzeugnummer <= fahrzeuge.Count)
fahrzeuge.RemoveAt(_fahrzeugnummer - 1);
}
public Fahrzeug zeigeFahrzeuge(int _fahrzeugnummer)
{
if (_fahrzeugnummer >= 0 && _fahrzeugnummer <= fahrzeuge.Count)
return fahrzeuge[_fahrzeugnummer - 1];
else
return null;
}
public Fahrzeug Fahrzeug
{
get { return Fahrzeug; }
// Setzt oder löscht Kunden-Objekt
set { Fahrzeug = value; }
}
}
}
FAHRZEUG-KLASSE
class Fahrzeug
{
private string marke;
private string farbe;
private int pferdestärke;
private int preis;
public string Marke
{
get { return marke; }
set { marke = value; }
}
public string Farbe
{
get { return farbe; }
set { farbe = value; }
}
public int Pferdestärke
{
get { return pferdestärke; }
set { pferdestärke = value; }
}
public int Preis
{
get { return preis; }
set { preis = value; }
}
public Fahrzeug(string _marke, string _farbe, int _ps, int _preis)
{
marke = _marke;
farbe = _farbe;
pferdestärke = _ps;
preis = _preis;
}
public Halter Halter
{
get { return Halter; }
// Setzt oder löscht Kunden-Objekt
set { Halter = value; }
}
}
}
[B] [/B]