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
2102103

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.