C# :: Aufgabe #290

4 Lösungen Lösungen öffentlich

Zinsen mit Zinseszins berechnen

Anfänger - C# von DragStar - 23.03.2020 um 09:39 Uhr
Am Anfang eines Jahres werden 1000 Euro auf ein Sparkonto eingezahlt.
Wie viele Jahre dauert es, bis bei einem Zinssatz von 2 Prozent daraus mindestens 3000 Euro geworden sind?
Das Startkapital und der Zinssatz sollen vom Benutzer eingegeben werden können.

Lösungen:

vote_ok
von vinceee (180 Punkte) - 31.03.2020 um 21:08 Uhr
Quellcode ausblenden C#-Code
using System;

namespace Zinsrechner
{
    class Program
    {
        static void Main(string[] args)
        {
            double Zinsen;
            double Endkapital;
            int Jahre;

            double Anfangskapital;
            int Prozentsatz;

            double TempPSatz;
            double ErgPSatz;

            Console.WriteLine("Geben Sie das Startkapital ein.");
            Anfangskapital = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Geben Sie den Zinssatz ein.");
            Prozentsatz = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Geben Sie die Jahre ein.");
            Jahre = Convert.ToInt32(Console.ReadLine());

            TempPSatz = 1 + ((double) Prozentsatz / 100);
            ErgPSatz = Math.Pow(TempPSatz, Jahre);

            Endkapital = Anfangskapital * ErgPSatz;
            Zinsen = Endkapital - Anfangskapital;
            
            Console.WriteLine("Das Startkapital war: {0}", Anfangskapital);
            Console.WriteLine("Das Endkapital ist: {0:0.###}", Endkapital);
            Console.WriteLine("Die angereiften Zinsen sind: {0:0.###}", Zinsen);
            

            Console.ReadKey();

        }
    }
}
vote_ok
von DragStar (2000 Punkte) - 03.04.2020 um 16:04 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Zinsen
{
    class Program
    {
        static void Main(string[] args)
        {  
            double anfKap, zinsSatz;
            int jahre=0;

            Console.Write("Bitte Anfangskapital eingeben: ");
            anfKap = Convert.ToDouble(Console.ReadLine());

            Console.Write("Zinssatz in Prozent: ");
            zinsSatz = Convert.ToDouble(Console.ReadLine());

            while (anfKap < 3000)
            {
                anfKap += (anfKap / 100) * zinsSatz;
                jahre++;
            }
            
            Console.WriteLine("Bis 3000 Euro erreicht sind, dauert es "+jahre+" Jahre.");

            Console.ReadKey();
        }
    }
}
vote_ok
von Overmeier (120 Punkte) - 01.11.2020 um 16:58 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ZinsRechnerZeit
{
    class Program
    {
        static void Main(string[] args)
        {
            double StartKapital, Zinsen;
            int Jahre = 0;

            Console.Write("Bitte Startkapital eingeben: ");
            StartKapital = Convert.ToDouble(Console.ReadLine());

            Console.Write("Bitte Zinsen eingeben: ");
            Zinsen = Convert.ToDouble(Console.ReadLine());

            while (StartKapital <= 3000)
            {
                Console.WriteLine(StartKapital);
                StartKapital += StartKapital / 100 * Zinsen;
                Jahre++;
            }
            Console.WriteLine("Bis 3000 Euro erreicht sind, dauert es " + Jahre + " Jahre.");
            Console.ReadKey();
        }

    }
}
vote_ok
von JKooP (7540 Punkte) - 17.11.2020 um 17:25 Uhr
NET 5.x; C# 9.x
Neuerung in C# 9.x: Top-Level-Anweisung
https://docs.microsoft.com/de-de/dotnet/csharp/whats-new/csharp-9
Quellcode ausblenden C#-Code
using System;

var K = 1000.0;
var K_end = 3000.0;
var p = 2.0;
var n = Math.Ceiling(Math.Log(K / K_end, 1 / (1.0 + (p / 100.0))));

Console.WriteLine($"{K_end} Euro sind nach {n} Jahren erreicht.");