Pb langage c d'un exerice qui rend la monnaie

mido-mido-mido -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai un petit probleme en langage c et voila l'enoncé de l'exercice si quelqu'un peut m'aider svp
le probleme de la machine qui 'rend la monnais' .ecrivez un programme qui pour une somme donée en millimes, imprime le nombre (minimal) de pieces necessaires pour la composer
expl: 1949= 1*1000+ 1*500+ 4*400+ 2*20+ 1*5 + 2*2

j'ai pensée une idée mais j'aimerais que quelqu'un m'aide un peu svp
a et b etants des int l:e quotient et le reste de la division entiere de a par b s'obtiennent respectivement par les expressions a/b et a%b


merci d'avance
A voir également:

4 réponses

ilan27 Messages postés 394 Date d'inscription   Statut Membre Dernière intervention   36
 
Bonsoir, je te propose ceci (mais je débute en C):
void main(){int somme;
printf(" Somme??");
scanf("%d", &somme);
if(somme>1000){
int nb1000=somme/1000;
somme=somme%1000;
}
ainsi de suite pour chaque billets et pièces
printf("nb de billets de 1000: %d, de 500: %d ...", nb1000, nb500...);
}

Tu veux des explications ou c'est bon?
0
mido-mido-mido
 
tout d'abord merci mais j'ai un prob c'est que la premiere condition doit etre > ou = et j'ai pas trop compris la demarche
c'est quoi ce qui est en gras: printf("nb de billets de 1000: %d, de 500: %d ...", nb1000, nb500...); pkoi il n'est pas obliger de donner des 500

es ce que c'est commeca:
if (somme > 1000)
{ int nb1000=somme/1000;
somme=somme%1000;
}
if (somme >= 100)
{int nb100=somme/100;
somme=somme%100;
}
if (somme >= 10)

if (somme >= 1)
vous l'avez essayez vous ?
0
ilan27 Messages postés 394 Date d'inscription   Statut Membre Dernière intervention   36
 
En effet, c'est >= . Et 500 c'est pour dire le nombre de billets de 500, et la valeur que tu as mise dans nb500 va s'afficher.
0
elhousseine Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
#include <stdio.h>

int main(void)
{
int /* correspond à la constante du nombres de billets de 500? */
nb200,/* correspond à la constante du nombres de billets de 200? */
nb100,
nb50,
nb20,
nb10,
nb5,
nb2,/* correspond à la constante du nombres de pièces de 2? */
nb1,
argent;/* c'est la constante dans laquel on enregistrera la somme entré par l'utilisateur */

printf("Veuillez entrer la somme d'argent\n");
scanf("%d", &argent);

nb200 = argent/200;
argent = argent%200;
nb100 = argent/100;
argent = argent%100;
nb50 = argent/50;
argent = argent%50;
nb20 = argent/20;
argent = argent%20;
nb10 = argent/10;
argent = argent%10;
nb5= argent/5;
argent = argent%5;
nb2 = argent/2;
argent = argent%2;

nb1 = argent;

printf("%d * 200 + %d * 100 + %d * 50 + %d * 20 + %d * 10 + %d * 5 +%d * 2\n",nb200,nb100,nb50,nb20,nb10,nb5,nb2);

system ("pause");
return 0;
}
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
7 ans après, pas mal...
Sinon, il manque stdlib.h pour system().
Autre remarque concernant l'algorithme, il aurait été préférable de passer par un tableau.
0