예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }