trieur de billet

trieur de billet - C - Programmation

Marsh Posté le 13-11-2005 à 19:24:24    

slt je dois faire un programme dans lequel je rentre un montant et le programme doit me dire combien de billet de 50,20.... doit me rendre(comme un bancontact) un copain a fait ce programme mais je ne comprends pas son ecriture.quelqu'un pourrait me le traduire en ecriture plus simplifiee merci  
 
 #include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 
 
 
 
 
main()
{
 double billetMonnaie[]={500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01};
 double somme;
 int i=0, j;
 
 
 printf("Entrez la somme %c convertir: ", 133);
 scanf("%lf", &somme);
 
 
 while(somme>0)
 {
  j = 0;
  while(somme >= billetMonnaie[i])
  {
   somme -= billetMonnaie[i];
   ++j;
  }
 
  printf("\n%d %s%s de %.2f euro", j, i<7?"billet":"piece", j>1?"s":"", billetMonnaie[i]);
  ++i;
  printf("\t%lf", somme);
 }
 
 printf("\n\n" );
}

Reply

Marsh Posté le 13-11-2005 à 19:24:24   

Reply

Marsh Posté le 13-11-2005 à 19:25:37    

au fait je voudrais savoir ce que je veux dire le (-=) et je ne comprends pas comment faire pour l'affichage

Reply

Marsh Posté le 13-11-2005 à 19:37:41    

infodebutant a écrit :

au fait je voudrais savoir ce que je veux dire le (-=) et je ne comprends pas comment faire pour l'affichage


'a -=2' signifie 'a = a - 2'
 
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 13-11-2005 à 20:42:47    

Emmanuel Delahaye a écrit :

'a -=2' signifie 'a = a - 2'


ok merci

Reply

Marsh Posté le 13-11-2005 à 20:45:21    

c'est tjs les mm exercices à l'inpres lol ;-)

Reply

Marsh Posté le 13-11-2005 à 21:29:17    

scanf pour double = %lf
printf pour double = %f

Reply

Marsh Posté le 13-11-2005 à 21:29:42    

moi23372 a écrit :

c'est tjs les mm exercices à l'inpres lol ;-)


 :)

Reply

Marsh Posté le 13-11-2005 à 21:30:59    

Taz a écrit :

scanf pour double = %lf
printf pour double = %f


oui ca je sais, mais en fait le gars a mis tout l'affichage sur une ligne et je suis perdu, j'ai pas encore appris a faire des affichages de ce type la, je suis encore a la base

Reply

Marsh Posté le 13-11-2005 à 21:58:13    

moi23372 a écrit :

c'est tjs les mm exercices à l'inpres lol ;-)


effectivement...
 
et toujours cette manie de récupérer ce que les anciens ont fait :/


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 13-11-2005 à 22:48:40    

bouhhh le

Code :
  1. main()


 
---> la potence pour ca hein!!

Reply

Marsh Posté le 13-11-2005 à 22:48:40   

Reply

Marsh Posté le 14-11-2005 à 09:54:27    

gocho a écrit :

bouhhh le

Code :
  1. main()


 
---> la potence pour ca hein!!


C'est OK en C90. Mais en C99, il faut le int...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 14-11-2005 à 10:09:54    

Taz a écrit :

scanf pour double = %lf
printf pour double = %f


Hum... c'est pas correct "%lf" pour le printf ???

Message cité 1 fois
Message édité par Sve@r le 14-11-2005 à 10:17:41

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 14-11-2005 à 10:35:47    

Sve@r a écrit :

Hum... c'est pas correct "%lf" pour le printf ???


Non.
 
Pour printf();  
"%f" attend un double ou un float (converti automatiquement en double)
"%lf" attend un long double...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 14-11-2005 à 12:26:55    

Et tant qu' on y est, on rajoute le return 0; à la fin du main  :wahoo:

Message cité 1 fois
Message édité par Trap D le 14-11-2005 à 12:28:10
Reply

Marsh Posté le 14-11-2005 à 13:33:10    

Trap D a écrit :

Et tant qu' on y est, on rajoute le return 0; à la fin du main  :wahoo:


Obligatoire en C90 (mais pas en C99).
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 14-11-2005 à 13:56:49    

KangOl a écrit :

effectivement...
 
et toujours cette manie de récupérer ce que les anciens ont fait :/


C'est vraiment une école de boulets quoi.  :whistle:


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 14-11-2005 à 14:00:17    

Par contre il se passe quoi si un nombre qui dépasse les capacités de conversion du tableau billetMonnaie est saisi ?
Exemple : 12.345678
 
De même, que se passe-t-il si je saisis, par exemple, "abcdef" à la place du nombre attendu ?
 
Dernière remarque : les tests que tu utilises pour comparer somme aux valeurs de billetMonnaie, et à zéro, sont faussés par l'inexactitude de représentation des nombres flottants.
On ne compare pas un nombre flottant sans s'accorder une marge d'inexactitude (DBL_EPSILON, défini dans float.h), pour pallier à ce problème.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed