C# :: Aufgabe #347 :: Lösung #4

4 Lösungen Lösungen öffentlich
#347

Berechnung Kfz-Steuer (Deutschland 2021)

Anfänger - C# von JKooP - 15.12.2020 um 19:35 Uhr
Schreibe eine Methode/Funktion, mit der es möglich ist, die Kfz- Steuer sowohl für Benzin-, als auch Dieselfahrzeuge
ab dem 01.01.2021 für Deutschland zu berechnen.

Übergeben werden sollen die Parameter: Otto- o. Dieselfahrzeug, Hubraum in ccm, CO2 in g.

Als Ergebnis soll die Gesamtsteuer in Euro fürs Jahr ausgegeben werden.

Eine ausführliche Berechnungshilfe findet man hier!

Viel Spaß
#4
vote_ok
von JakS (230 Punkte) - 08.03.2021 um 11:16 Uhr
Quellcode ausblenden C#-Code
    class Program
    {
        [Flags]
        private enum Kraftstoff {Benzin = 0, Diesel = 1}

        static void Main(string[] args)
        {
            //string autoMarke = "Volkswagen Tiguan 1,5 TSI";
            string autoMarke = "Volvo XC 90 B5";
            int hubraum = 1969;    // Hubraumangaben in cm³
            //int hubraum = 1498;    // Hubraumangaben in cm³
            int co2 = 158;        // CO2-Ausstoß in gramm/km
            double kfzSteuer = GetKfzSteuer((int)Kraftstoff.Diesel, hubraum, co2);

            Console.WriteLine("Die KFZ-Steuer für \"{0}\" beträgt {1}", autoMarke, kfzSteuer.ToString("C", CultureInfo.CreateSpecificCulture("de-DE")));

        }

        private static double GetKfzSteuer(int kraftstoff, int hubraum, int co2)
        {
            double steuerAnteil = 0.0; // Euro/100cm³
            switch (kraftstoff)
            {
                case (int)Kraftstoff.Benzin: // Benzin
                    steuerAnteil = 2.0;
                    break;
                case (int)Kraftstoff.Diesel: // Diesel
                    steuerAnteil = 9.5;
                    break;
                default:
                    break;
            }

            int steuerHubraum = hubraum / 100;
            if (hubraum % 100 > 0)
                steuerHubraum++;

            double steuerAnteilCO2 = 0.0; // Euro/g
            if (co2 >= 96)
                steuerAnteilCO2 += 2.0 * (co2 >= 116 ? 20 : co2 - 96 + 1);
            if (co2 >= 116)
                steuerAnteilCO2 += 2.2 * (co2 >= 136 ? 20 : co2 - 116 + 1);
            if (co2 >= 136)
                steuerAnteilCO2 += 2.5 * (co2 >= 156 ? 20 : co2 - 136 + 1);
            if (co2 >= 156)
                steuerAnteilCO2 += 2.9 * (co2 >= 176 ? 20 : co2 - 156 + 1);
            if (co2 >= 176)
                steuerAnteilCO2 += 3.4 * (co2 >= 196 ? 20 : co2 - 176 + 1);
            if (co2 >= 196)
                steuerAnteilCO2 += 4.0 * (co2 - 196 + 1);

            return steuerHubraum * steuerAnteil + steuerAnteilCO2; ;
        }
    }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben