| Autor |
Nachricht |
SWISS_BOY
Unregistrierter
|
SWISS_BOY Unregistrierter
17:10:21 02.09.2010 Titel: |
Fahrkartenautomat |
Zitieren |
"Bei einem Fahrpreis von 13,20€ und Eingabe eines 25 € Scheins werden eine vier
2-Eurostücke, zwei Eurostück, zwei 50 Centstück, und vier 20 Centstück zurückgegeben. Schreibe ein Programm, dass dieses Verhalten nachahmt."
(25 - 13,20 = 11,80)
Also ich möchte hier nicht die komplette Lösung. Aber könnt ihr mir wenigstens schreiben wie ich vorgehen soll?
(Ich weiß nur nicht wie ich den Restgeld in einzelnen Münzen teilen und es anzeigen lassen soll )
Sprache : C++
Programm : Borland
Anwendung : Konsolenanwendung |
|
|
|
 |
C++ Forumbot
Forumbot
Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 16160
|
C++ Forumbot Forumbot
17:25:43 02.09.2010 Titel: |
|
Zitieren |
|
 |
einloggunwilliger
Unregistrierter
|
einloggunwilliger Unregistrierter
17:39:31 02.09.2010 Titel: |
|
Zitieren |
Zunächst muss ich mich erst mal an den 25 €-Schein gewöhnen.
Aber ernsthaft, ein Automat gibt normal so groß als möglich heraus, außer er stellt Knappheit einer bestimmten Münze fest.
Damit würden aber 11,80 wie folgt herausgegeben:
5x 2€ Münze
1x 1€ Münze
1x 50Cent Münze
1x 20Cent Münze
1x 10Cent Münze
Somit solltest Du vor der ersten Codezeile erst mal klären wie es zu diesem Verhältnis kommt. |
|
|
|
 |
andi01
Mitglied
Benutzerprofil
Anmeldungsdatum: 03.05.2009
Beiträge: 500
|
andi01 Mitglied
17:44:07 02.09.2010 Titel: |
|
Zitieren |
du könntest etwa so ansetzen:
| C/C++ 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 25 26 | 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 | float rückgabewert=bezahlt-preis;
if(rückgabewert>0)
{
while(rückgabewert>=2)//mehr als 2 euro
{
rückgabewert=rückgabewert-2;
anzahl_2_euro_stücke++;
}
while(rückgabewert>=1)//mehr als 1 euro
{
rückgabewert=rückgabewert-1;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=0.5)//mehr als 50ct
{
rückgabewert=rückgabewert-0.5;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
}
| |
| C/C++ 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 25 26 | float rückgabewert=bezahlt-preis;
if(rückgabewert>0)
{
while(rückgabewert>=2)//mehr als 2 euro
{
rückgabewert=rückgabewert-2;
anzahl_2_euro_stücke++;
}
while(rückgabewert>=1)//mehr als 1 euro
{
rückgabewert=rückgabewert-1;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=0.5)//mehr als 50ct
{
rückgabewert=rückgabewert-0.5;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
}
| |
| C/C++ 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 25 26 | float rückgabewert=bezahlt-preis;
if(rückgabewert>0)
{
while(rückgabewert>=2)//mehr als 2 euro
{
rückgabewert=rückgabewert-2;
anzahl_2_euro_stücke++;
}
while(rückgabewert>=1)//mehr als 1 euro
{
rückgabewert=rückgabewert-1;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=0.5)//mehr als 50ct
{
rückgabewert=rückgabewert-0.5;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
}
| |
(das ist allerdings ohne Münzknappheit gerechnet )
und das bis zur 1ct-Münze;
lg,
andi01. |
_________________ Using: Windows 7 / XP SP2; Microsoft Visual C++ 2010 Express Edition.
Zuletzt bearbeitet von andi01 am 17:50:37 02.09.2010, insgesamt 3-mal bearbeitet |
|
 |
MichelM
Mitglied
Benutzerprofil
Anmeldungsdatum: 17.12.2008
Beiträge: 338
|
MichelM Mitglied
17:45:52 02.09.2010 Titel: |
|
Zitieren |
Welche Münzen hast du denn zur Wahl für die Ausgabe?
Als Ansatz:
du hast den Restbetrag von 11,80 Euro.
Nach Ausgabe von vier 2-Euro-Stücken hast du noch 3,80.
Nach Ausgabe von zwei 1-Euro-Stücken hast du noch 1,80.
Nach Ausgabe von zwei 50-Cent-Stücken hast du noch 0,80.
Nach Ausgabe von vier 20-Cent-Stücken hast du noch 0,00.
Die Ausgabe beginnt also vom größten Münzenstück her. Nun muss du überlegen, wie lange du 2-Euro-Stücke ausgibst, bis der Betrag so klein ist, dass du 1-Euro-Stücke ausgibst usw.
Gruß Michel |
Zuletzt bearbeitet von MichelM am 17:47:48 02.09.2010, insgesamt 1-mal bearbeitet |
|
 |
SWISS_BOY
Unregistrierter
|
SWISS_BOY Unregistrierter
17:45:58 02.09.2010 Titel: |
|
Zitieren |
| einloggunwilliger schrieb: | Zunächst muss ich mich erst mal an den 25 €-Schein gewöhnen.
Aber ernsthaft, ein Automat gibt normal so groß als möglich heraus, außer er stellt Knappheit einer bestimmten Münze fest.
Damit würden aber 11,80 wie folgt herausgegeben:
5x 2€ Münze
1x 1€ Münze
1x 50Cent Münze
1x 20Cent Münze
1x 10Cent Münze
Somit solltest Du vor der ersten Codezeile erst mal klären wie es zu diesem Verhältnis kommt. |
peinlich.
sry es gibt zwar kein 25 € schein. aber damit meinte ich auch 20 und 5 € Schein
In meinem Programm gibt es eben mehr als genug Münzen. also ist es "kanappheit" schon mal erledigt^^ |
|
|
|
 |
MichelM
Mitglied
Benutzerprofil
Anmeldungsdatum: 17.12.2008
Beiträge: 338
|
MichelM Mitglied
17:49:27 02.09.2010 Titel: |
|
Zitieren |
| Zitat: | | Aber ernsthaft, ein Automat gibt normal so groß als möglich heraus, außer er stellt Knappheit einer bestimmten Münze fest. |
Da würde ich dir widersprechen, denn Der Automat sollte immer ein bestimmtes Verhältnis zwischen den auszugebenden Münzen einhalten, sonst sind die großen Münzen ganz schnell alle |
|
|
|
 |
einloggunwilliger
Unregistrierter
|
einloggunwilliger Unregistrierter
17:56:09 02.09.2010 Titel: |
|
Zitieren |
ok, da wird sicher noch etwas mehr im Automaten geprüft, ich kenne auch welche deren Münzröhren unterschiedlich hoch sind.
Aber 2 Fragen bleiben mir:
1. Wer zahlt 11,80 mit einem 20 und einem 5 Euro-Schein?
2. Woher kommt das vorgegebene Münzverhältnis? |
|
|
|
 |
SWISS_BOY
Unregistrierter
|
SWISS_BOY Unregistrierter
18:03:36 02.09.2010 Titel: |
|
Zitieren |
| einloggunwilliger schrieb: | ok, da wird sicher noch etwas mehr im Automaten geprüft, ich kenne auch welche deren Münzröhren unterschiedlich hoch sind.
Aber 2 Fragen bleiben mir:
1. Wer zahlt 11,80 mit einem 20 und einem 5 Euro-Schein?
2. Woher kommt das vorgegebene Münzverhältnis? |
1. Niemand zahlt 11.80. 11.80 = Rückgeld
2. Vom Lehrer |
|
|
|
 |
berniebutt
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.11.2007
Beiträge: 2219
|
berniebutt Mitglied
18:09:41 02.09.2010 Titel: |
|
Zitieren |
Dieses Thema hat unter C++ auch wenig zu suchen.
Das ist eher eine konkrete Anforderung für ein (bezahltes!) Projekt. Alle Voraussetzungen zur Realisierung haben die meisten Notenbanken mit dem Prinzip zur Teilung 1-2-5 bereits bestens erledigt! |
_________________ http://berniebutt.npage.de
|
|
 |
einloggunwilliger
Unregistrierter
|
einloggunwilliger Unregistrierter
18:09:48 02.09.2010 Titel: |
|
Zitieren |
sorry, zu 1 meinte ich natürlich 13,20.
aber auch der Ansatz von andi01 führt zu dem Ergebnis das ich Dir aufgezeigt habe.
Um das Münzverhältnis das Dein Lehrer will zu erreichen könntest Du andis Ansatz modifizieren indem Du sagst max. 4 2€-Münzen, max. 2 1€-Münzen usw.
Aber eine Logik sehe ich darin nicht. |
|
|
|
 |
unskilled
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.07.2007
Beiträge: 3712
|
unskilled Mitglied
18:09:58 02.09.2010 Titel: |
|
Zitieren |
| SWISS_BOY schrieb: | | einloggunwilliger schrieb: | ok, da wird sicher noch etwas mehr im Automaten geprüft, ich kenne auch welche deren Münzröhren unterschiedlich hoch sind.
Aber 2 Fragen bleiben mir:
1. Wer zahlt 11,80 mit einem 20 und einem 5 Euro-Schein?
2. Woher kommt das vorgegebene Münzverhältnis? |
1. Niemand zahlt 11.80. 11.80 = Rückgeld
2. Vom Lehrer |
1. na gut - bei 13,20€ sollte man natürlich mit nem 20 und nem 5€ schein zahlen... ^^
2. da muss ja nen system dahinter stecken - das solltest du in erfahrung bringen...
bsp: schreibe ein programm, was eine beliebige zahl in faktoren zerlegt.
eingabe:
100
ausgabe:
2*2*5*5
na dann zerleg jetzt mal 70 - damit du weist, wie du das anstellen sollst, müsste ich dir schon sagen, nach welchen kriterien die zahlen auszuwählen sind...
bb |
_________________ Keiner kann besser nix als ich - Tagedieb mit Lächeln im Gesicht
|
|
 |
berniebutt
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.11.2007
Beiträge: 2219
|
berniebutt Mitglied
20:57:07 02.09.2010 Titel: |
|
Zitieren |
Stellt euch vor: 'Ihr steht in einer fremden Stadt - vielleicht in einem fremdsprachigen Land - an einem Fahrkartenautomat'. Eure Probleme sind dann der Frust! Der Bus, die Tram, S-Bahn, oder Metro sind dann weg oder ihr müsst auf eigenes Risiko 'schwarz fahren'.
Wer gibt heute jemand den Auftrag für einen so dummen Fahrkartenautomaten? 'Sorry, ich kann nicht wechseln - bitte zahlen Sie passend' scheint mir nicht zuviel verlangt. |
_________________ http://berniebutt.npage.de
Zuletzt bearbeitet von berniebutt am 20:58:26 02.09.2010, insgesamt 1-mal bearbeitet |
|
 |
cpcruise
Unregistrierter
|
cpcruise Unregistrierter
22:57:01 02.09.2010 Titel: |
|
Zitieren |
Oder aber dein Automat hat doch nicht unbegrenzt Münzen und kennt seinen Münzvorrat. Dann gibt er nur noch die letzten 4 2€ Münzen, die beiden letzten 1€ Münzen und die beiden letzten 50 Cent Münzen und den Rest in 20 Cent Münzen aus. |
|
|
|
 |
cpcruise
Unregistrierter
|
cpcruise Unregistrierter
23:25:16 02.09.2010 Titel: |
|
Zitieren |
| C/C++ 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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 32 33 34 35 36 37 38 39 40 | int anz_zweieuro=4;//Anzahl vorhandener 2€ Münzen
int anz_eineuro=2;//Anzahl vorhandener 1€ Münzen
int anz_50cent=2;//Anzahl vorhandener 50Cent Münzen
int anz_20cent=50000;//Anzahl vorhandener 20Cent Münzen -)
int rück_zweieuro=0;//Anzahl Rückgabe 2€ Münzen
int rück_eineuro=0;//Anzahl Rückgabe 1€ Münzen
int rück_50cent=0;//Anzahl Rückgabe 50Cent Münzen
int rück_20cent=0;//Anzahl Rückgabe 20Cent Münzen
float preis=13.2;//Der zu zahlende Betrag
float bezahlt=25;//Der eingeworfene Betrag
float rückgabewert=bezahlt-preis;//Der Rückgabebetrag
while(anz_zweieuro>0&&rückgabewert>=2)
{
anz_zweieuro--;
rück_zweieuro++;
rückgabewert-=2;
}
cout << "Anzahl 2 Euro Muenzen:" << rück_zweieuro << endl;
while(anz_eineuro>0&&rückgabewert>=1)
{
anz_eineuro--;
rück_eineuro++;
rückgabewert-=1;
}
cout << "Anzahl 1 Euro Muenzen:" << rück_eineuro << endl;
while(anz_50cent>0&&rückgabewert>=.5)
{
anz_50cent--;
rück_50cent++;
rückgabewert-=.5;
}
cout << "Anzahl 50 Cent Muenzen:" << rück_50cent << endl;
while(anz_20cent>0&&rückgabewert>=.2)
{
anz_20cent--;
rück_20cent++;
rückgabewert-=.2;
}
cout << "Anzahl 20 Cent Muenzen:" << rück_20cent << endl;
... | |
| C/C++ 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | int anz_zweieuro=4;//Anzahl vorhandener 2€ Münzen
int anz_eineuro=2;//Anzahl vorhandener 1€ Münzen
int anz_50cent=2;//Anzahl vorhandener 50Cent Münzen
int anz_20cent=50000;//Anzahl vorhandener 20Cent Münzen -)
int rück_zweieuro=0;//Anzahl Rückgabe 2€ Münzen
int rück_eineuro=0;//Anzahl Rückgabe 1€ Münzen
int rück_50cent=0;//Anzahl Rückgabe 50Cent Münzen
int rück_20cent=0;//Anzahl Rückgabe 20Cent Münzen
float preis=13.2;//Der zu zahlende Betrag
float bezahlt=25;//Der eingeworfene Betrag
float rückgabewert=bezahlt-preis;//Der Rückgabebetrag
while(anz_zweieuro>0&&rückgabewert>=2)
{
anz_zweieuro--;
rück_zweieuro++;
rückgabewert-=2;
}
cout << "Anzahl 2 Euro Muenzen:" << rück_zweieuro << endl;
while(anz_eineuro>0&&rückgabewert>=1)
{
anz_eineuro--;
rück_eineuro++;
rückgabewert-=1;
}
cout << "Anzahl 1 Euro Muenzen:" << rück_eineuro << endl;
while(anz_50cent>0&&rückgabewert>=.5)
{
anz_50cent--;
rück_50cent++;
rückgabewert-=.5;
}
cout << "Anzahl 50 Cent Muenzen:" << rück_50cent << endl;
while(anz_20cent>0&&rückgabewert>=.2)
{
anz_20cent--;
rück_20cent++;
rückgabewert-=.2;
}
cout << "Anzahl 20 Cent Muenzen:" << rück_20cent << endl;
... | |
| C/C++ 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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | int anz_zweieuro=4;//Anzahl vorhandener 2€ Münzen
int anz_eineuro=2;//Anzahl vorhandener 1€ Münzen
int anz_50cent=2;//Anzahl vorhandener 50Cent Münzen
int anz_20cent=50000;//Anzahl vorhandener 20Cent Münzen -)
int rück_zweieuro=0;//Anzahl Rückgabe 2€ Münzen
int rück_eineuro=0;//Anzahl Rückgabe 1€ Münzen
int rück_50cent=0;//Anzahl Rückgabe 50Cent Münzen
int rück_20cent=0;//Anzahl Rückgabe 20Cent Münzen
float preis=13.2;//Der zu zahlende Betrag
float bezahlt=25;//Der eingeworfene Betrag
float rückgabewert=bezahlt-preis;//Der Rückgabebetrag
while(anz_zweieuro>0&&rückgabewert>=2)
{
anz_zweieuro--;
rück_zweieuro++;
rückgabewert-=2;
}
cout << "Anzahl 2 Euro Muenzen:" << rück_zweieuro << endl;
while(anz_eineuro>0&&rückgabewert>=1)
{
anz_eineuro--;
rück_eineuro++;
rückgabewert-=1;
}
cout << "Anzahl 1 Euro Muenzen:" << rück_eineuro << endl;
while(anz_50cent>0&&rückgabewert>=.5)
{
anz_50cent--;
rück_50cent++;
rückgabewert-=.5;
}
cout << "Anzahl 50 Cent Muenzen:" << rück_50cent << endl;
while(anz_20cent>0&&rückgabewert>=.2)
{
anz_20cent--;
rück_20cent++;
rückgabewert-=.2;
}
cout << "Anzahl 20 Cent Muenzen:" << rück_20cent << endl;
... | |
|
|
|
|
 |
MichelM
Mitglied
Benutzerprofil
Anmeldungsdatum: 17.12.2008
Beiträge: 338
|
MichelM Mitglied
11:31:40 03.09.2010 Titel: |
|
Zitieren |
@berniebutt:
| Zitat: | | Wer gibt heute jemand den Auftrag für einen so dummen Fahrkartenautomaten? 'Sorry, ich kann nicht wechseln - bitte zahlen Sie passend' scheint mir nicht zuviel verlangt. |
Da kenn ich einen Automaten: Den DB-Automaten! Da kannste nie mit nem Zwanziger bezahlen |
|
|
|
 |
ipsec
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.08.2007
Beiträge: 1436
|
ipsec Mitglied
11:46:34 03.09.2010 Titel: |
Re: Fahrkartenautomat |
Zitieren |
| SWISS_BOY schrieb: | "Bei einem Fahrpreis von 13,20€ und Eingabe eines 25 € Scheins werden eine vier
2-Eurostücke, zwei Eurostück, zwei 50 Centstück, und vier 20 Centstück zurückgegeben. Schreibe ein Programm, dass dieses Verhalten nachahmt." |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 | int main()
{
cout << "Fahrpreis: 13,20€" << endl << "Eingabe in Euro: ";
double eingabe;
cin >> eingabe;
if(eingabe == 25)
cout << "4 x 2€\n2 x 1€\n2 x 50ct\n4 x 20ct" << endl;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | int main()
{
cout << "Fahrpreis: 13,20€" << endl << "Eingabe in Euro: ";
double eingabe;
cin >> eingabe;
if(eingabe == 25)
cout << "4 x 2€\n2 x 1€\n2 x 50ct\n4 x 20ct" << endl;
} | |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 | int main()
{
cout << "Fahrpreis: 13,20€" << endl << "Eingabe in Euro: ";
double eingabe;
cin >> eingabe;
if(eingabe == 25)
cout << "4 x 2€\n2 x 1€\n2 x 50ct\n4 x 20ct" << endl;
} | |
(ungetestet, sollte das erforderte Verhalten aber exakt nachahmen) |
|
|
|
 |
antialias
Mitglied
Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 99
|
antialias Mitglied
14:37:57 03.09.2010 Titel: |
|
Zitieren |
andi01:
[quote="andi01"]du könntest etwa so ansetzen:
| C/C++ 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 25 26 | 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 | float rückgabewert=bezahlt-preis;
if(rückgabewert>0)
{
while(rückgabewert>=2)//mehr als 2 euro
{
rückgabewert=rückgabewert-2;
anzahl_2_euro_stücke++;
}
while(rückgabewert>=1)//mehr als 1 euro
{
rückgabewert=rückgabewert-1;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=0.5)//mehr als 50ct
{
rückgabewert=rückgabewert-0.5;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
}
| |
| C/C++ 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 25 26 | float rückgabewert=bezahlt-preis;
if(rückgabewert>0)
{
while(rückgabewert>=2)//mehr als 2 euro
{
rückgabewert=rückgabewert-2;
anzahl_2_euro_stücke++;
}
while(rückgabewert>=1)//mehr als 1 euro
{
rückgabewert=rückgabewert-1;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=0.5)//mehr als 50ct
{
rückgabewert=rückgabewert-0.5;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
}
| |
| C/C++ 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 25 26 | float rückgabewert=bezahlt-preis;
if(rückgabewert>0)
{
while(rückgabewert>=2)//mehr als 2 euro
{
rückgabewert=rückgabewert-2;
anzahl_2_euro_stücke++;
}
while(rückgabewert>=1)//mehr als 1 euro
{
rückgabewert=rückgabewert-1;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=0.5)//mehr als 50ct
{
rückgabewert=rückgabewert-0.5;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
}
| |
Wenn man dein Programm leicht modifiziert bekommt man das Verhalten das vom Lehrer gefordert wurde:
| C/C++ 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 25 26 27 28 29 30 31 32 33 | 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 32 33 | float restgeld=bezahlt-preis;
int rückgabewert = int (restgeld * 100);
if(rückgabewert>0)
{
while(rückgabewert>=400)//mehr als 4 euro
{
rückgabewert=rückgabewert-200;
anzahl_2_euro_stücke++;
}
while(int(rückgabewert)>=200)//mehr als 2 euro
{
rückgabewert=rückgabewert-100;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=100)//mehr als 1 euro
{
rückgabewert=rückgabewert-50;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
while(rückgabewert>=1)//mehr als a cent
{
rückgabewert=rückgabewert-1;
anzahl_1_ct_stücke++;
}
}
| |
| C/C++ 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 25 26 27 28 29 30 31 32 33 | float restgeld=bezahlt-preis;
int rückgabewert = int (restgeld * 100);
if(rückgabewert>0)
{
while(rückgabewert>=400)//mehr als 4 euro
{
rückgabewert=rückgabewert-200;
anzahl_2_euro_stücke++;
}
while(int(rückgabewert)>=200)//mehr als 2 euro
{
rückgabewert=rückgabewert-100;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=100)//mehr als 1 euro
{
rückgabewert=rückgabewert-50;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
while(rückgabewert>=1)//mehr als a cent
{
rückgabewert=rückgabewert-1;
anzahl_1_ct_stücke++;
}
}
| |
| C/C++ 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 25 26 27 28 29 30 31 32 33 | float restgeld=bezahlt-preis;
int rückgabewert = int (restgeld * 100);
if(rückgabewert>0)
{
while(rückgabewert>=400)//mehr als 4 euro
{
rückgabewert=rückgabewert-200;
anzahl_2_euro_stücke++;
}
while(int(rückgabewert)>=200)//mehr als 2 euro
{
rückgabewert=rückgabewert-100;
anzahl_1_euro_stücke++;
}
while(rückgabewert>=100)//mehr als 1 euro
{
rückgabewert=rückgabewert-50;
anzahl_50_ct_stücke++;
}
//... bis zur 1ct-Münze
while(rückgabewert>=1)//mehr als a cent
{
rückgabewert=rückgabewert-1;
anzahl_1_ct_stücke++;
}
}
| |
|
Zuletzt bearbeitet von antialias am 14:39:52 03.09.2010, insgesamt 2-mal bearbeitet |
|
 |
berlinbär
Unregistrierter
|
berlinbär Unregistrierter
16:54:16 03.09.2010 Titel: |
|
Zitieren |
Ihr seid alle recht realitätsfremd.
Welcher Automat hat unbegrenzt Münzen vorrätig ?
Euro Programmme schmeissen immer unbegrenzt Münzen raus.
Das von cpcruise ist das einzigste was bei so einer Aufgabe einleuchtet. |
|
|
|
 |