Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C++ (auch C++0x und C++11) ::  Fahrkartenautomat  
Gehen Sie zu Seite 1, 2  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
SWISS_BOY
Unregistrierter




Beitrag 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
Beitrag C++ Forumbot Forumbot 17:25:43 02.09.2010   Titel:              Zitieren

Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum C++ verschoben.

Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?


Dieses Posting wurde automatisch erzeugt.

_________________
Besuchen Sie unsere Bücherecke.
http://www.c-plusplus.de/bucher.php
Mit jeder Bestellung unterstützen Sie das Forum.
einloggunwilliger
Unregistrierter




Beitrag 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
Beitrag 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 :D )

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
Beitrag 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




Beitrag 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.

:D peinlich.

sry es gibt zwar kein 25 € schein. aber damit meinte ich auch 20 und 5 € Schein :o)

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
Beitrag 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




Beitrag 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




Beitrag 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
Beitrag 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! :p

_________________
http://berniebutt.npage.de
C/C++ Forum :: C++ (auch C++0x und C++11) ::  Fahrkartenautomat  
Gehen Sie zu Seite 1, 2  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.