Monnayeur

le noobs Messages postés 20 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 22 octobre 2013 - 20 oct. 2013 à 10:57
ZeDab68 Messages postés 6 Date d'inscription dimanche 20 octobre 2013 Statut Membre Dernière intervention 31 mars 2014 - 23 oct. 2013 à 21:55
Bonjour ! Je débute en programmation et je cherche à réaliser un monnayeur en free pascal en sachant que les input sont sap ( somme à payer ) mp ( montant présenté) et output ( solde à rendre).

Sachant que j'ai vu que des mod et div entière.

Comment introduire toute la monnaie en billet et pièce en sachant que si je dois rendre 85.88e il faut dire 1 billet de 50 , 1 de 20 jusqu'au derniers cent .

bien à vous.

6 réponses

dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
20 oct. 2013 à 12:08
Bonjour
Tu seras bien d'accord sur le fait que tu nous demandes de faire ton projet à ta place !
Dans un cas comme le tien, il faut tout d'abord prendre une belle feuille de papier blanche et faire une sorte d'organigramme qui va lister et organiser les différentes phases du projet :
1. Entrée des données (noms, types ..)
2. Opérations à effectuer sur chaque donnée pour arriver au résultat souhaité
3. Présenter les résultats

Bref on appelle cela une analyse
Ensuite on code !

Commence par nous montrer quelque chose et on t'aidera surement à terminer
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
20 oct. 2013 à 17:51
bonjour,
ce qui me fait "bizzare" c'est que c'est au moins la troisième personne qui pose une question similaire ces derniers jours (en DELPHI pour les autres il me semble)....
Ca ressemble à un devoir....
Dans ce cas, je répondrais :
http://codes-sources.commentcamarche.net/forum/affich-1557761-bar-sujet-de-pfe-tp-et-autres-devoirs-scolaires#top

Dans le cas contraire, comme le suggère Dubois77, analyse bien ton besoin, et reviens vers nous lorsque tu rencontreras un VRAI souci technique.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
21 oct. 2013 à 10:26
Bonjour,

je pose la première pierre :

SAP- MP = f(500) + f(200) + f(100) + f(50) + f(20) +
f(10) + f(5)+ f(2) + f(1) + (f(.50) + f(.20)
+ f(.10) + f(.05) + (f(.02) + f(0.01);
0
le noobs Messages postés 20 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 22 octobre 2013
22 oct. 2013 à 00:05
Voila mon code les gars :

var sap,mp : real;
sar : real;
sare : integer;
sarc : integer;

nb50,nb20,nb10,nb5,np2,np1 : integer;
np050,np020,np010,np005,np002,np001 : integer;

begin
////////////////////////////////ENTREE DES DONNEES /////////////////////////////
write ( 'Somme a payer : ');
readln (sap);

writeln;

write ('Somme presentee : ');
readln (mp);

writeln;

//////////////////////CALCUL DE LA SOMME A RENDRE + AFFICHAGE //////////////////
sar:=(mp-sap);
writeln ('Somme a rendre : ', sar:8:2, 'euros');

writeln;

//////////////////////SEPARATION DES EUROS ET DES CENTIMES//////////////////////


sare:= trunc(sar);
sarc:= trunc(frac(sar-sare)*100);


//////////////////////CALCUL DU NB DE BILLETS ET DE PIECES//////////////////////
nb50:= sare div 50;
sare:= sare mod 50; //BILLETS DE 50

nb20:= sare div 20;
sare:= sare mod 20; //BILLETS DE 20

nb10:= sare div 10;
sare:= sare mod 10; //BILLETS DE 10

nb5:= sare div 5;
sare:= sare mod 5; //BILLETS DE 5

np2:= sare div 2;
sare:= sare mod 2; //PIECES DE 2

np1:= sare div 1; //PIECES DE 1

np050:= sarc div 50;
sarc:= sarc mod 50; //PIECES DE 0.50

np020:= sarc div 20;
sarc:= sarc mod 20; //PIECES DE 0.20

np010:= sarc div 10;
sarc:= sarc mod 10; //PIECES DE 0.10

np005:= sarc div 5;
sarc:= sarc mod 5; //PIECES DE 0.05

np002:= sarc div 2;
sarc:= sarc mod 2; //PIECES DE 0.02

np001:= sarc; //PIECES DE 0.01

///////////////////AFFICHAGE DU NB DE BILLETS ET DE PIECES//////////////////////

writeln ('Billets de 50e : ',nb50:2);
writeln ('Billets de 20e : ',nb20:2);
writeln ('Billets de 10e : ',nb10:2);
writeln ('Billets de 5e : ',nb5:2);

writeln;

writeln ('Pieces de 2e : ',np2:2);
writeln ('Pieces de 1e : ',np1:2);
writeln ('Pieces de 50c : ',np050:2);
writeln ('Pieces de 20c : ',np020:2);
writeln ('Pieces de 10c : ',np010:2);
writeln ('Pieces de 5c : ',np005:2);
writeln ('Pieces de 2c : ',np002:2);
writeln ('Pieces de 1c : ',np001:2);

readln;
end.
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
22 oct. 2013 à 07:26
Après la première pierre de Cantador, tu viens donc de bâtir le mur !
Je n'ai pas testé le code mais à première vue cela semble bon
Continue comme celà
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le noobs Messages postés 20 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 22 octobre 2013
22 oct. 2013 à 14:37
Merci !

Pour information , je tiens a préciser qu'il ne s'agissait pas d'un devoir coté ou autre ...Je demande juste un coup de main. Pour ce qui est des post identique pour le même projet sans doute le pur hasard surtout que j'ai pas encore fait de Delphi. J'espère pouvoir compter sur vous pour d'autre aide dans le futur sans me casser d'entrée de jeux ... Bien à vous
0
ZeDab68 Messages postés 6 Date d'inscription dimanche 20 octobre 2013 Statut Membre Dernière intervention 31 mars 2014
Modifié par ZeDab68 le 23/10/2013 à 21:56
Salut...

Pour s'éviter la séparation en euros et centimes : on calcule tout en centimes ?

sare := round(sar*100);
//////////////////////CALCUL DU NB DE BILLETS ET DE PIECES//////////////////////
nb50:= sare div 5000;
sare:= sare mod 5000; //BILLETS DE 50 = 5000 centimes

nb20:= sare div 2000;
sare:= sare mod 2000; //BILLETS DE 20

[...]

np1:= sare div 100; //PIECES DE 1
sare:= sare mod 100;

np050:= sare div 50;
sare:= sare mod 50; //PIECES DE 0.50

np020:= sare div 20;
sare:= sare mod 20; //PIECES DE 0.20

np010:= sare div 10;
sare:= sare mod 10; //PIECES DE 0.10

np005:= sare div 5;
sare:= sare mod 5; //PIECES DE 0.05

np002:= sare div 2;
sare:= sare mod 2; //PIECES DE 0.02

np001:= sare; //PIECES DE 0.01
0
Rejoignez-nous