public float berechneSteuerschuldKennzeichen(String kennzeichen) { //Anlegen der Variablen steuerschuld float steuerschuld = 0; //Finden des Fahrezugs mit dem übergebenen Kennzeichen Fahrzeug f = sucheFahrzeug(fahrzeugliste, kennzeichen); //prüfen, ob das Kennzeichen in der Fahrzeugliste existiert if ((fahrzeugliste.Exists(x => x.Kennzeichen == kennzeichen)) == false) { throw new ArgumentException("Kennzeichen nicht vorhanden!"); } //prüfen, ob Fahrzeug vom Typ PKW ist if (f.GetType().ToString().Equals("Fahrzeugverwaltung.PKW")) { //Konvertieren des Fahrzeugs in den Typ PKW //um auf spezifische Variablen der Klasse PKW zugreifen zu können PKW p = (PKW)Convert.ChangeType(f, typeof(PKW)); steuerschuld = (p.Hubraum + 99) / 100 * 10 * (p.Schadstoffklasse + 1); } //prüfen, ob Fahrzeug vom Typ LKW ist else if (f.GetType().ToString().Equals("Fahrzeugverwaltung.LKW")) { //Konvertieren des Fahrzeugs in den Typ LKW //um auf spezifische Variablen der Klasse LKW zugreifen zu können LKW l = (LKW)Convert.ChangeType(f, typeof(LKW)); steuerschuld = l.Zuladung * 100; } //ist das Fahrzeug weder vom Typ LKW noch vom Typ PKW, ist es vom Typ Motorrad else { //Konvertieren des Fahrzeugs in den Typ Motorrad //um auf spezifische Variablen der Klasse Motorrad zugreifen zu können Motorrad m = (Motorrad)Convert.ChangeType(f, typeof(Motorrad)); steuerschuld = (m.Hubraum + 99) / 10 * 20; } //zurückgeben der Steuerschuld return(steuerschuld); }
public String stellplatzZuweisen(Fahrzeug f) { //Definieren einer Abbruchvariable bool abbruch = false; //Stellplatznummer standardmäßig auf -1 setzen //wird -1 zurückgegeben, indiziert dies, dass kein freier Parkplatz gefunden wurde String stellplatznummer = "-1"; //Schleife über alle Parkhäuser in der Parkhausliste laufen lassen foreach (Parkhaus element in Parkhausverwaltung.Parkhausliste) { //Schleife über alle Stellplätze in einem Parkplatz foreach (Stellplatz s in element.Stellplatzliste) { //Fahrzeugtyp abfregen String fahrzeugtyp = f.GetType().ToString(); //prüfen ob der Stellplatz belegt if (s.IstBelegt == false) { //Prüfen, ob der Stellplatztyp dem Typ des Fahrzeugs entspricht if (s.Stellplatztyp == fahrzeugtyp) { //dem Stellplatz das Kennzeichen zuweisen s.Kennzeichen = f.Kennzeichen; s.Parkhausnummer = element.Parkhausnummer; //stellplatznummer zuweisen stellplatznummer = s.Nummer; //Variable istBelegt des Stellplatzes auf true stellen s.IstBelegt = true; //Schleifen durchlauf abbrechen abbruch = true; break; } } } //prüfen, ob die Schleife abgebrochen wurde //ist der Fall, wenn ein freier Stellplatz gefunden wurde if (abbruch == true) { break; } } //stellplatznummer zurückgeben return(stellplatznummer); }
public static String FahrzeugAusgeben(List <Fahrzeug> aFahrzeugliste, String kennzeichen) { //prüfen, ob das Kennzeichen in der Fahrzeugliste existiert if ((aFahrzeugliste.Exists(x => x.Kennzeichen == kennzeichen)) == false) { throw new ArgumentException("Kennzeichen nicht vorhanden!"); } //festlegen des Ausgabeformats String output = ""; //finden des Fahrzeugs in der Fahrzeugliste Fahrzeug f = aFahrzeugliste.Find(x => x.Kennzeichen.Contains(kennzeichen)); //Zurückgeben des Ergebnisses //Prüfen, welcher Fahrzeugtyp vorliegt switch (f.GetType().ToString()) { case "Fahrzeugverwaltung.PKW": //Format auf PKW anwenden PKW pkw = f as PKW; output = "Hersteller: " + pkw.Hersteller + "\r\nModell: " + pkw.Modell + "\r\nKennzeichen: " + pkw.Kennzeichen + "\r\nErstzulassung: " + pkw.Erstzulassung + "\r\nAnschaffungspreis: " + pkw.Anschaffungspreis + "\r\nHubraum: " + pkw.Hubraum + "\r\nLeistung: " + pkw.Leistung + "\r\nSchadstoffklasse: " + pkw.Schadstoffklasse + "\r\nStellplatz: " + pkw.Stellplatznummer; break; case "Fahrzeugverwaltung.LKW": //Format auf LKW anwenden LKW lkw = f as LKW; output = "Hersteller: " + lkw.Hersteller + "\r\nModell: " + lkw.Modell + "\r\nKennzeichen: " + lkw.Kennzeichen + "\r\nErstzulassung: " + lkw.Erstzulassung + "\r\nAnschaffungspreis: " + lkw.Anschaffungspreis + "\r\nAnzahlAchsen: " + lkw.Achsenanzahl + "\r\nZuladung: " + lkw.Zuladung + "\r\nStellplatz: " + lkw.Stellplatznummer; break; case "Fahrzeugverwaltung.Motorrad": //Format auf Motorrad anwenden Motorrad motorrad = f as Motorrad; output = "\r\nHersteller: " + motorrad.Hersteller + "\r\nModell: " + motorrad.Modell + "\r\nKennzeichen: " + motorrad.Kennzeichen + "\r\nErstzulassung: " + motorrad.Erstzulassung + "\r\nAnschaffungspreis: " + motorrad.Anschaffungspreis + "\r\nHubraum: " + motorrad.Hubraum + "\r\nStellplatz: " + motorrad.Stellplatznummer; break; } //String ausgeben, welcher alle Fahrzeugdaten zurückgibt return(output); }