ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
339
339
EMPFEHLEN
-
28.06.06 20:23 #1galeoness Tutorials.de Gastzugang
Moin moin...
ich bin noch ganz neu und unerfahren was C++ angeht..
deshalb brauche ich Hilfe.
Ich möchte ne progi schreiben, wo eine geldsumme möglichst logisch aufgeteilt wird, d.h. 122,22€ = 12-10€ | 0-5€ | 1-2€ | 0-1€ | 0-0,50€ .. und so weiter..
lieder habe ich das problem das er zwar die 10er 5er, und 2er richtig berechnet aber dann alles andere nicht mehr!
Hier mein programm text:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
zahl = StrToFloat (Edit1->Text);
zahl = zahl*100;
zehner = floor(zahl/1000);
Label15 -> Caption = FloatToStrF (zehner,ffNumber,8,0);
zahl = zahl-(zehner*1000);
fuenfer = zahl/500;
Label16 -> Caption = FloatToStrF (fuenfer,ffNumber,8,0);
if (fuenfer>1)
zahl = zahl-(fuenfer*1000);
zweier = zahl/200;
Label17 -> Caption = FloatToStrF (zweier,ffNumber,8,0);
if (zweier>1)
zahl = zahl-(zweier*1000);
einer = zahl/100;
Label18 -> Caption = FloatToStrF (einer,ffNumber,8,0);
if (einer>1)
zahl = zahl-(einer*1000);
fuenfziger = zahl/50;
Label19 -> Caption = FloatToStrF (fuenfziger,ffNumber,8,0);
if (fuenfziger>1)
zahl = zahl-(fuenfziger*1000);
zwanziger = zahl/20;
Label20 -> Caption = FloatToStrF (zwanziger,ffNumber,8,0);
if (zwanziger>1)
zahl = zahl-(zwanziger*1000);
zehner1 = zahl/10;
Label21 -> Caption = FloatToStrF (zehner1,ffNumber,8,0);
}
Vielen dank schonmal für die Hilfe!
AChja vielleuicht nochmal memine logik die dahinter steckt:
122,22 *100 = 12222
12222/1000 = 12,...
12 * 1000 = 12000
12222 - 12000 = 222
222/500 = 0,...
0 * 222 = 0
222 - 0 = 222
222/200 = 1,...
und so weiter
-
Hallo,
das ist zwar ein Beispiel in C und noch mit DM aber vom Prinzip das was du suchst ...
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
#include <stdio.h> void main(void) { float fahrpreis, geldbetrag, rueckgabe, gesamt; int dm5 = 0, dm2 = 0, dm1 = 0; int pf50 = 0, pf10 = 0, pf5 = 0, pf2 = 0, pf1 = 0; clrscr(); printf("\n\nFahrkartenautomat\n==================="); printf("\n\nZu zahlender Fahrpreis? "); scanf("%f", &fahrpreis); printf("\nEingeworfener Geldbetrag? "); scanf("%f", &geldbetrag); rueckgabe = geldbetrag - fahrpreis; while( rueckgabe < 0 ){ printf("\n\nEs fehlen noch %f DM", -rueckgabe ); printf("\nBitte weiteres Geld einwerfen! "); scanf("%f", &geldbetrag); rueckgabe += geldbetrag; /* rueckgabe += 0.001; sonst Rundungsfehler */ }/* ende while */ gesamt = rueckgabe; /* Gesamtbetrag, der zurueckgegeben wird */ if( rueckgabe == 0 ) printf("\nKeine Geldrueckgabe"); else { while( rueckgabe >= 5 ){ dm5++; rueckgabe = rueckgabe - 5.; }/*ende while */ while( rueckgabe >= 2 ){ dm2++; rueckgabe = rueckgabe - 2.; }/*ende while */ while( rueckgabe >= 1 ){ dm1++; rueckgabe = rueckgabe - 1.; }/*ende while */ while( rueckgabe >= .5 ){ pf50++; rueckgabe = rueckgabe - .5; }/*ende while */ while( rueckgabe >= .1 ){ pf10++; rueckgabe = rueckgabe - .1; }/*ende while */ while( rueckgabe >= .05 ){ pf5++; rueckgabe = rueckgabe - .05; }/*ende while */ while( rueckgabe >= .02 ){ pf2++; rueckgabe = rueckgabe - .02; }/*ende while */ while( rueckgabe >= .01 ){ pf1++; rueckgabe = rueckgabe - .01; }/*ende while */ /* while( rueckgabe != 0 ){ printf("\nDieser Geldbetrag ist durch Muenzen nicht erzeugbar"); exit(-1); } */ if( dm5 > 0 ) printf("\n\t%5d * 5DM", dm5); if( dm2 > 0 ) printf("\n\t%5d * 2DM", dm2); if( dm1 > 0 ) printf("\n\t%5d * 1DM", dm1); if( pf50 > 0 ) printf("\n\t%5d * 50Pf", pf50); if( pf10 > 0 ) printf("\n\t%5d * 10Pf", pf10); if( pf5 > 0 ) printf("\n\t%5d * 5Pf", pf5); if( pf2 > 0 ) printf("\n\t%5d * 2Pf", pf2); if( pf1 > 0 ) printf("\n\t%5d * 1Pf", pf1); printf("\n\t****************\nRueckgabe %.2f DM", gesamt); printf("\n\n"); }/* ende else */ }/* ende main */
Ähnliche Themen
-
100 Euro Auftrag
Von barox_2 im Forum Stellenangebote (entgeltlich)Antworten: 3Letzter Beitrag: 12.11.06, 05:50 -
DSL Flatrate für 0,00 euro oder für 3,90 Euro. Haken
Von convo im Forum Internet, DSL & FlatrateAntworten: 1Letzter Beitrag: 06.06.05, 14:49 -
photoshop 7 für 72 Euro
Von Yasin im Forum PhotoshopAntworten: 6Letzter Beitrag: 04.04.05, 07:08 -
Euro
Von spiggy im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 03.12.02, 16:55 -
euro ******
Von Meister Eder im Forum PhotoshopAntworten: 16Letzter Beitrag: 05.01.02, 20:56





Zitieren
Login






