C# :: Aufgabe #215 :: Lösung #2

3 Lösungen Lösungen öffentlich
#215

Die beste Darlehensart berechnen

Anfänger - C# von Exception - 04.06.2018 um 17:06 Uhr
Schreibe ein Programm welches folgende Parameter übergeben bekommt:
- Nominalzins p.a.
- Laufzeit (Jahre)
- Darlehen (€)

Berechne dann anhand dieser Parameter welche der drei folgenden Darlehensarten am besten für den Kreditnehmer ist:
- Fälligkeitsdarlehen
- Ratendarlehen
- Annuitätendarlehen

... und gib die Ergebnisse aus, auch inwiefern sie sich untereinander unterscheiden - jeder Cent zählt! ;)
#2
vote_ok
von hollst (13980 Punkte) - 16.08.2018 um 10:30 Uhr
Quellcode ausblenden C#-Code
using System;
using static System.Console;

namespace aufgabe_215
{
    class Program
    {
        static void Main()
        {
            string NL = Environment.NewLine;
            bool bo_ready = false;
            do
            {
                double
                    Nominalzins = 0,
                    Laufzeit = 0,
                    Darlehen = 0;

                bool bo_input_ok = false;
                while (!bo_input_ok)
                {
                    Write(
                        "Gib mir Darlehenssumme (EURO), Zinssatz (%) und Laufzeit (Jahre)" + NL +
                        "getrennt durch Leerzeichen (z. B.: 5000 2,5 6): ");
                    string[] input = ReadLine().Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
                    bo_input_ok =
                        input.Length == 3
                        && double.TryParse(input[0], out Darlehen) 
                        && double.TryParse(input[1], out Nominalzins) 
                        && double.TryParse(input[2], out Laufzeit);
                }

                Loan darlehen = new Loan(Nominalzins, Laufzeit, Darlehen);
                WriteLine(
                    NL + "GESAMTZINSEN" + 
                    NL + "Fälligkeitsdarlehen: " + $"{darlehen.Zinsbelastung[0].ToString("n2"), 10}" + " EURO" + 
                    NL + "Tilgungsdarlehen   : " + $"{darlehen.Zinsbelastung[1].ToString("n2"), 10}" + " EURO" + 
                    NL + "Annuitätendarlehen : " + $"{darlehen.Zinsbelastung[2].ToString("n2"), 10}" + " EURO" 
                    );

                WriteLine("exit ESC");
                ConsoleKeyInfo ki = ReadKey(true);
                bo_ready = ki.Key == ConsoleKey.Escape;
            }
            while (!bo_ready);
        }
    }

    public class Loan
    {
        private double
            Nominalzins,    //p. a.
            Laufzeit,       //Jahre
            Darlehen;       //€

        public double[] Zinsbelastung { get; private set; }

        public Loan(
            double Nominalzins,
            double Laufzeit,
            double Darlehen)
        {
            this.Nominalzins = Nominalzins / 100.0;
            this.Laufzeit = Laufzeit;
            this.Darlehen = Darlehen;
            this.Zinsbelastung = new double[3];

            calculate();
        }

        private void calculate()
        {
            Zinsbelastung[0] = Laufzeit * Darlehen * Nominalzins; //Fälligkeitsdarlehen

            double zinsbase = Darlehen, zinsen = 0.0, tilgung = Darlehen / Laufzeit;
            for(var i = 0; i < Laufzeit; i++)
            {
                zinsen += zinsbase * Nominalzins;
                zinsbase -= tilgung;
            }
            Zinsbelastung[1] = zinsen;                          //Tilgungsdarlehen

            double temp = Math.Pow(1.0 + Nominalzins, Laufzeit);
            double annuitaet = Darlehen * temp * Nominalzins / (temp - 1.0);
            Zinsbelastung[2] = Laufzeit * annuitaet - Darlehen; //Annuitätendarlehen
        }
    }
}

/*
Schreibe ein Programm welches folgende Parameter übergeben bekommt:
- Nominalzins p.a.
- Laufzeit (Jahre)
- Darlehen (€)

Berechne dann anhand dieser Parameter welche der drei folgenden Darlehensarten am besten für den Kreditnehmer ist:
- Fälligkeitsdarlehen
- Ratendarlehen
- Annuitätendarlehen

... und gib die Ergebnisse aus, auch inwiefern sie sich untereinander unterscheiden - jeder Cent zählt! ;)  
________________________________________________________

Fälligkeitsdarlehen
Merkmal: Tilgung der gesamten Summe am Laufzeitende 

Tilgungsdarlehen
Merkmal: konstante Tilgungsraten während der Laufzeit

Annuitätendarlehen
Merkmal: konstante Rate während der Laufzeit
*/

Kommentare:

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

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