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