C++ Programmieraufgabe Kapitalentwicklung

Cookieforaday

Lt. Junior Grade
Registriert
Aug. 2016
Beiträge
261
Hallo,

ich habe eine Programmieraufgabe:

Diskutieren Sie die beiden folgenden Funktionen. Beide Funktionen berechnen die Kapitalentwicklung nach n Jahren bei einem Zinssatz rate.

Die Aufgabe inkl. Vorlage :

Code:
//CapitalTrend.cpp
#include <iostream>
using namespace std;

//------------------- definition of functions -----------------------
double capTrend(int n, double initialCapital, double rate){
   // TODO: input useful comments

   double res = initialCapital;
   for (int year = 1; year <= n; year++)                               
      res += res*rate;                   
   return res;
}

void capTrend2(int n, double& cap, double rate){
   // TODO: input useful comments

   for (int year = 1; year <= n; year++)                               
      cap += cap*rate;                  
}

//---------------------- main()-function ----------------------------
int main()
{  
   // TODO: test capTrend and capTrend2

   return 0;  
}

Ich habe bisher da zusammengebastelt:

Code:
#include <iostream>
using namespace std;

//------------------- definition of functions -----------------------
double capTrend(int n, double initialCapital, double rate) {
	// TODO: input useful comments

	double res = initialCapital;
	for (int year = 1; year <= n; year++)
		res += res*rate;
	return res;
}

void capTrend2(int n, double cap, double rate) {
	// TODO: input useful comments

	for (int year = 1; year <= n; year++)
		cap += cap*rate;
}

//---------------------- main()-function ----------------------------
int main()
{
	// TODO: test capTrend and capTrend2
	int n;
	int rate;
	int initialCapital;

	cout << "jahren" << endl;
	cin >> n;

	cout << "rate" << endl;
	cin >> rate;

	cout << "initialCapital" << endl;
	cin >> initialCapital;

	capTrend(n, rate, initialCapital);
	capTrend2(n, rate, initialCapital);



	return 0;
}


Da bei mir die Funktion nicht funktioniert, kann ich leider die aufgabe nicht lösen. kann mir jemand weiterhelfen?
Muss dazu sagen, ich bin nicht gut in Informatik.
 
Zuletzt bearbeitet:
Funktioniert bei mir nicht ist keine Fehlerbeschreibung mit der man was anfangen kann... Spontan fällt mir auf, dass die Rate und das Kapital als Integer eingelesen werden die Funktionen aber einen double erwarten.
 
Lerne deinen Debugger zu benutzen. Debuggen für Arme wäre std::cout zu benutzen.
Lese dich nochmal in die Grundlagen ein, du mischst Datentypen wild etc.

Viel Spaß bei deinen Hausaufgaben!
 
Bei deinem Aufruf in der main() fällt mir auf, das cpTrend einen Rückgabewert liefert den du nicht abholst, während capTrend2 keinen Rückgabewert liefert, da musst du das Ergebnis in der Funktion ausgeben. Zusätzlich haben ich festgestellt das du ein integer bei rate und capital einliest, aber da bekommst du Probleme mit Kommawerten.
 
Deine Übergabeparameter lauten jeweils (in der Reihenfolge):

Jahr, Kapital und Rate.

Du übergibst allerdings in der Reihenfolge:

Jahr, Rate, Kapital.

Berichtige den Fehler und es sollte klappen.
 
Zurück
Oben