C - Zinseszins Programm

Neue Frage »

Auf diesen Beitrag antworten »
abiturient_61 C - Zinseszins Programm

Ahoi liebe member ^^

Ich hätte da mal eine Frage... Bin Anfänger in C und ich sollte ein Programm, einen Zinseszins rechner erstellen.

Dabei sind wir schrittweise vorgegangen... Zunächst haben wir ein Programm geschrieben, in dessen Quelltext wir die Jahre definiert haben.. D.h. in die For-Schleife einen festen Wert eingetragen haben, anstatt nach dem kompilieren abzufragen, wieviel Jahre gespart werden soll.

Nun.. das hat super geklappt mit folgendem quelltext:

#include <stdio.h>

int main()
{
float Geld, Zinssatz;
int jahre;

printf("Geben Sie Ihren Startbetrag ein: "; );
scanf("%f", &Geld);
printf("Geben Sie den Zinssatz ein: "; );
scanf("%f", &Zinssatz);
printf("\n"; );

for(jahre = 1; jahre <= 2; jahre=jahre+1)
{
Geld = Geld + Geld * (Zinssatz/100);
printf("%s %i %s %f\n", "Nach", jahre, "Jahren haben Sie folgende Summe:", Geld);
}

system("PAUSE"; );
return 0;

}



Das hat also einwandfrei funktioniert... Anschließend wollte ich es erweitern und die weitere frage:

Wieviel geld soll gespart werden? eintragen... und eine variable definieren, die diesen wert in die for-schleife als obere grenze für die Jahre einträgt.

Das würde dann so aussehen:

int main()
{
float geld, zinssatz;
int jahre;
int n;

printf("Geben Sie Ihren Startbetrag ein: "; );
scanf("%f", &geld);
printf("Geben Sie den Zinssatz ein: "; );
scanf("%f", &zinssatz);
printf("Wie lange moechten sie sparen ? (Angabe in n Jahren):"; );
scanf("%f", &n);
printf("\n"; );
for(jahre = 1; jahre <= n; jahre++)
{
geld = geld + (geld * (zinssatz/100));
printf("%s %i %s %f\n", "Nach", n, "Jahren haben Sie", geld);
}

system("PAUSE"; );
return 0;

}


Erstmal läuft alles wie gewohnt, doch nach der Angabe von n (beispielsweise der wert 5) kommt ein fehler:
Windowsanzeige .... xxxxx.exe funktioniert nicht mehr

Kann mir jemand evtl. zeigen wo der Fehler liegt ?

Gruß
Abiturient_61
 
Auf diesen Beitrag antworten »
Karlito

Hallo,

dein Problem ist scanf. Du verlangst %f für n. n ist aber eine Ganzzahl...

So funktioniert es bei mir:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
#include <stdio.h>

int main()
{
	float geld, zinssatz;
	int jahre;
	int n;

	printf("Geben Sie Ihren Startbetrag ein: ") ;
	scanf("%f", &geld);
	printf("Geben Sie den Zinssatz ein: ") ;
	scanf("%f", &zinssatz);
	printf("Wie lange moechten sie sparen ? (Angabe in n Jahren):") ;
	scanf("%i", &n);
	printf("\n") ;
	for(jahre = 1; jahre <= n; jahre++)
	{
		geld = geld + (geld * (zinssatz/100));
		printf("%s %i %s %f\n", "Nach", jahre, "Jahren haben Sie", geld);
	}
	return 0;
}


VG,

Karlito
Auf diesen Beitrag antworten »
abiturient_61

Vielen Dank smile
Auf diesen Beitrag antworten »
adneycandy

Erstmal läuft alles wie gewohnt, doch nach der Angabe von n (beispielsweise der wert 5) kommt ein fehler:
 
Auf diesen Beitrag antworten »
adneycandy

Dabei sind wir schrittweise vorgegangen... Zunächst haben wir ein Programm geschrieben, in dessen Quelltext wir die Jahre definiert haben.. D.h. in die For-Schleife einen fe
 
Neue Frage »
Antworten »


Verwandte Themen