09. FELADAT · FORRÁSKÓD
Megtakarítási terv
Program.csAnimáció megnyitása →
namespace Feladat09_MegtakaritasiTerv
{
internal class Program
{
static void Main(string[] args)
{
const int HONAPOK = 120; // 10 év
Console.WriteLine("=== Megtakarítási terv – 10 éves előrejelzés ===");
Console.Write("Havi befizetés (Ft): ");
double haviBefizetes = double.Parse(Console.ReadLine());
Console.Write("Éves kamat (%): ");
double evesKamat = double.Parse(Console.ReadLine());
Console.Write("Célösszeg (Ft): ");
double celosszeg = double.Parse(Console.ReadLine());
double haviKamatlab = HaviKamatlab(evesKamat);
double egyenleg = 0;
bool elerte = false;
int celHonap = 0;
Console.WriteLine();
Console.WriteLine("Év vége szerinti egyenleg:");
for (int honap = 1; honap <= HONAPOK; honap++)
{
egyenleg = UjEgyenleg(egyenleg, haviKamatlab, haviBefizetes);
if (!elerte && egyenleg >= celosszeg)
{
elerte = true;
celHonap = honap;
}
if (honap % 12 == 0)
{
Console.WriteLine($"{honap / 12}. év: {egyenleg:F2} Ft");
}
}
double befizetett = haviBefizetes * HONAPOK;
double kamatnyereseg = egyenleg - befizetett;
Console.WriteLine();
Console.WriteLine("--- Összegzés ---");
Console.WriteLine($"Összesen befizetett összeg: {befizetett:F2} Ft");
Console.WriteLine($"Záró egyenleg: {egyenleg:F2} Ft");
Console.WriteLine($"Ebből kamat: {kamatnyereseg:F2} Ft");
if (elerte)
{
int ev = celHonap / 12;
int honap = celHonap % 12;
Console.WriteLine($"A célösszeget a(z) {celHonap}. hónapban éred el, vagyis {ev} év {honap} hónap alatt.");
}
else
{
double hianyzik = celosszeg - egyenleg;
Console.WriteLine($"A célösszeget 10 év alatt nem éred el, {hianyzik:F2} Ft hiányzik hozzá.");
}
}
// Az éves kamatláb tizenketted része, tizedes törtként (6% -> 0,005).
static double HaviKamatlab(double evesKamat)
{
return evesKamat / 12.0 / 100.0;
}
// Egy hónap lépése: előbb a meglévő egyenlegre jóváírjuk a kamatot,
// és csak utána adjuk hozzá az aktuális havi befizetést.
static double UjEgyenleg(double egyenleg, double haviKamatlab, double haviBefizetes)
{
return egyenleg + egyenleg * haviKamatlab + haviBefizetes;
}
}
}