import 'package:flutter_application_1/enums.dart'; // Berechnet das investierte Geld über eine bestimmte Zeit double calculateInvestedMoney(double initialCapital, double monthlySavingsRate, double time, List investedMoneyList) { double investedMoney = initialCapital; investedMoneyList.clear(); for (int i = 0; i < time; i++) { investedMoney += monthlySavingsRate * 12; // Jährliche Sparrate hinzufügen investedMoney = investedMoney.roundToDouble(); investedMoneyList.add(investedMoney); // Investierten Betrag zur Liste hinzufügen } return investedMoney; } // Berechnet den Zinseszins über eine bestimmte Zeit. double calculateCompoundInterest(double initialCapital, double monthlySavingsRate, double interestRate, double time, PayoutInterval payoutInterval, List investedMoneyList, List compoundInterestList) { double compoundInterest = initialCapital; compoundInterestList.clear(); if (payoutInterval == PayoutInterval.yearly) { // Berechnung für jährliche Auszahlung for (int i = 0; i < time; i++) { compoundInterest += compoundInterest * (interestRate / 100) + monthlySavingsRate * 12; // Zinsen und jährliche Sparrate hinzufügen compoundInterest = compoundInterest.roundToDouble(); compoundInterestList.add(compoundInterest - investedMoneyList[i]); // Zinseszins zur Liste hinzufügen } } else { // Berechnung für monatliche Auszahlung for (int i = 0; i < time; i++) { for (int j = 0; j < 12; j++) { compoundInterest += compoundInterest * ((interestRate / 100) / 12) + monthlySavingsRate; // Monatliche Zinsen und Sparrate hinzufügen compoundInterest = compoundInterest.roundToDouble(); } compoundInterestList.add(compoundInterest - investedMoneyList[i]); // Zinseszins zur Liste hinzufügen } } return compoundInterest; // Gesamtkapital nach Zinseszinsberechnung zurückgeben }