// Erzeugt ein LKW Objekt aus einer Datenzeile. // Die Datenzeile wird geprüft. // Sind die Daten OK wird ein LKW Objekt erzeugt und zurückgegeben. // Sind die Daten nicht OK wird kein LKW Objekt erzeugt und es wird null zurückgegeben. // Jede Datenzeile muss folgendermassen aufgebaut sein // <Fahrzeugtyp>;<Fahrzeugmodell>;<Jahr der Erstzulassung>;<Anschaffungspreis>;<Kennzeichen>;<AnzahlAchsen>;<Zuladung> // Beispiel: LKW; Mercedes; LG 315; 1960; 23000; K-GS-04; 2; 5,5 public static LKW ErzeugeFahrzeug( string Datenzeile) { string Hersteller; string Modell; int Erstzulassung; float Anschaffungspreis; string Kennzeichen; int ParkhausNummer; int StellplatzNummer; int AnzahlAchsen = 0; float Zuladung = 0; // Prüfe, die für alle Fahrzeuge gemeinsamen Daten, durch Funktion der Elternklasse bool DatenOk = Fahrzeug.TextToFahrzeugDaten( Datenzeile, out Hersteller, out Modell, out Erstzulassung, out Anschaffungspreis, out Kennzeichen, out ParkhausNummer, out StellplatzNummer); // Prüfen der LKW Daten, wenn gemeinsame Daten OK sind if (DatenOk) { string[] DataArray = Datenzeile.Split(';'); // Erstes Datenelement muss LKW sein if (DataArray[0] != "LKW") { DatenOk = false; } // Prüfe und kopiere Achsenanzahl if (DatenOk) { DatenOk = TextToAnzahlAchsen(DataArray[8], out AnzahlAchsen); } // Prüfe und kopiere Zuladung if (DatenOk) { DatenOk = TextToZuladung(DataArray[8], out Zuladung); } } // Erzeuge PKW Objekt, wenn die Daten OK sind. Sonst wird null zurückgegeben. if (DatenOk) { return(new LKW(Hersteller, Modell, Erstzulassung, Anschaffungspreis, Kennzeichen, ParkhausNummer, StellplatzNummer, AnzahlAchsen, Zuladung)); } else { return(null); } }
// Erzeugt ein Motorad Objekt aus einer Datenzeile. // Die Datenzeile wird geprüft. // Sind die Daten OK wird ein Motorad Objekt erzeugt und zurückgegeben. // Sind die Daten nicht OK wird kein Motorad Objekt erzeugt und es wird null zurückgegeben. // Jede Datenzeile muss folgendermassen aufgebaut sein // <Fahrzeugtyp>;<Fahrzeugmodell>;<Jahr der Erstzulassung>;<Anschaffungspreis>;<Kennzeichen>;<Hubraum> // Beispiel: Motorrad; BMW; R1200R; 1999; 6000; K-GS-03; 1170 public static Motorrad ErzeugeFahrzeug( string Datenzeile) { string Hersteller; string Modell; int Erstzulassung; float Anschaffungspreis; string Kennzeichen; int ParkhausNummer; int StellplatzNummer; int Hubraum = 0; // Prüfe, die für alle Fahrzeuge gemeinsamen Daten, durch Funktion der Elternklasse bool DatenOk = Fahrzeug.TextToFahrzeugDaten( Datenzeile, out Hersteller, out Modell, out Erstzulassung, out Anschaffungspreis, out Kennzeichen, out ParkhausNummer, out StellplatzNummer); // Prüfen der Motorad Daten, wenn gemeinsame Daten OK sind if (DatenOk) { string[] DataArray = Datenzeile.Split(';'); if (DatenOk) { if (DataArray[0] != "Motorrad") { DatenOk = false; } } // Wandle String in int um für Hubraum (50 ccm - 2000 ccm) if (DatenOk) { DatenOk = PruefeInteger(DataArray[8], 50, 2000, out Hubraum); } } // Erzeuge Motorad Objekt, wenn die Daten OK sind. Sonst wird null zurückgegeben. if (DatenOk) { return(new Motorrad(Hersteller, Modell, Erstzulassung, Anschaffungspreis, Kennzeichen, ParkhausNummer, StellplatzNummer, Hubraum)); } else { return(null); } }
// Erzeugt ein PKW Objekt aus einer Datenzeile. // Die Datenzeile wird geprüft. // Sind die Daten OK wird ein PKW Objekt erzeugt und zurückgegeben. // Sind die Daten nicht OK wird kein PKW Objekt erzeugt und es wird null zurückgegeben. // Jede Datenzeile muss folgendermassen aufgebaut sein // <Fahrzeugtyp>;<Fahrzeugmodell>;<Jahr der Erstzulassung>;<Anschaffungspreis>;<Kennzeichen>;<Hubraum>;<Leistung>;<Schadstoffklasse> // Beispiel: PKW; VW; Käfer; 1965; 9999; K-GS-01; 1000; 30; 1 public static PKW ErzeugeFahrzeug( string Datenzeile) { string Hersteller; string Modell; int Erstzulassung; float Anschaffungspreis; string Kennzeichen; int ParkhausNummer; int StellplatzNummer; int Hubraum = 0; int Leistung = 0; int Schadstoffklasse = 0; // Prüfe, die für alle Fahrzeuge gemeinsamen Daten, durch Funktion der Elternklasse // Prüfe, die für alle Fahrzeuge gemeinsamen Daten, durch Funktion der Elternklasse bool DatenOk = Fahrzeug.TextToFahrzeugDaten( Datenzeile, out Hersteller, out Modell, out Erstzulassung, out Anschaffungspreis, out Kennzeichen, out ParkhausNummer, out StellplatzNummer); // Prüfen der PKW Daten, wenn gemeinsame Daten OK sind if (DatenOk) { // Kopieren der durch ; getrennten Datenelement aus einer Textzeile in ein Array string[] DataArray = Datenzeile.Split(';'); // Erstes Datenelement muss PKW sein if (DataArray[0] != "PKW") { DatenOk = false; } // Prüfe und kopiere Hubraum if (DatenOk) { DatenOk = TextToHubraum(DataArray[8], out Hubraum); } // Prüfe und kopiere Leistung if (DatenOk) { DatenOk = TextToLeistung(DataArray[9], out Leistung); } // Prüfe und kopiere Schadstoffklasse if (DatenOk) { DatenOk = TextToSchadstoffklasse(DataArray[10], out Schadstoffklasse); } } // Erzeuge PKW Objekt, wenn die Daten OK sind. Sonst wird null zurückgegeben. if (DatenOk) { return(new PKW(Hersteller, Modell, Erstzulassung, Anschaffungspreis, Kennzeichen, ParkhausNummer, StellplatzNummer, Hubraum, Leistung, Schadstoffklasse)); } else { return(null); } }