Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

05.07.2012, 10:14

Kleiner denkfehler bei for-schleife

Hallo leute :)
ich will mir ein Programm basteln was mir foklgendes anzeigt:
Wenn ich ein bestimmtes Kapital habe zum beispiel 20 Euro.
Ich mit diesem Kapital wetten abschließen zu einer konstanten quote sagen wir 10.
Der Gewinn ergibt sich aus Kapital/Quote und einem abzug von jeweils 5%.
Die rechnung und alles bekomme ich hin. Aber die Schleife stoppt nicht bei meinem Wunschwert.
Die Frage die dieses Programm beantworten soll ist folgende:
Wieviele Wetten muss ich abschließen damit ich zu meinem Wunschwert komme.
Hier mal mein Programm:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>

using namespace std;

int main()
{
float kapital=0;
float quote = 0;
float zielwert=0;
float ergebnis,zwischenergebnis;
cout<< "Bitte geben sie ihr Kapital ein: ";
cin>>kapital;
cout<< "Wie hoch ist ihr Zielwert?";
cin>>zielwert;
cout<<"Geben sie die konstante Quote ein: ";
cin>>quote;

for (int i = kapital; i<=zielwert;i++)
{
zwischenergebnis=kapital/quote;
ergebnis= zwischenergebnis+ (kapital/quote*0.05);
kapital+=ergebnis;

cout<<i<<"\n";

}



return 0;
}


Ihr könnt mir bestimmt helfen.
Mein Denkansatz ist folgender:
Die Schleife stoppt nicht bei meinem Wunschbetrag weil sie solange läuft wie der Wunschbetrag groß ist.
Soweit bin ich nun.
Aber wie kann ich das ändern?

EDIT by dot: Code Tags

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (05.07.2012, 10:20)


rnlf

Frischling

Beiträge: 85

Beruf: Softwareingenieur Raumfahrt

  • Private Nachricht senden

2

05.07.2012, 10:26

Wenn ich deinen Beispielcode richtig verstehe, solltest du in der Bedingung nicht i<=zielwert, sondern kapital<=zielwert benutzen.

3

05.07.2012, 10:43

danke dir :)
hier der richtige code :
#include <iostream>

using namespace std;

int main()
{
float kapital=0;
float quote = 0;
float zielwert=0;
float ergebnis,zwischenergebnis;
cout<< "Bitte geben sie ihr Kapital ein: ";
cin>>kapital;
cout<< "Wie hoch ist ihr Zielwert?";
cin>>zielwert;
cout<<"Geben sie die konstante Quote ein: ";
cin>>quote;

for (int i = 1; kapital<=zielwert;i++)
{
zwischenergebnis=kapital/quote;
ergebnis= zwischenergebnis+ (kapital/quote*0.05);
kapital+=ergebnis;

cout<<"Wette"<<i<<":"<<kapital<<"\n";

}



return 0;
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

05.07.2012, 10:46

Wenn du Code postest, verwend bitte die Code Tags (für C++ z.B. [cpp]); das macht den Code sehr viel besser lesbar ;)

Werbeanzeige