C# :: Aufgabe #290
4 Lösungen

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.
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:

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(); } } }

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(); } } }

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(); } } }
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
C#-Code
Neuerung in C# 9.x: Top-Level-Anweisung
https://docs.microsoft.com/de-de/dotnet/csharp/whats-new/csharp-9

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.");