Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- C - Zinseszins Programm (http://www.informatikerboard.de/board/thread.php?threadid=1312)


Geschrieben von abiturient_61 am 07.11.2012 um 21:53:

  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



Geschrieben von Karlito am 07.11.2012 um 22:33:

 

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



Geschrieben von abiturient_61 am 07.11.2012 um 23:53:

 

Vielen Dank smile



Geschrieben von adneycandy am 02.04.2016 um 14:15:

 

Erstmal läuft alles wie gewohnt, doch nach der Angabe von n (beispielsweise der wert 5) kommt ein fehler:



Geschrieben von adneycandy am 02.04.2016 um 14:17:

 

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


Forensoftware: Burning Board, entwickelt von WoltLab GmbH