exercice en C (débutant)

petite coupures

Le problème exposé dans ce sujet a été résolu.

bonjour tout le monde. débutant en C je suis les cours proposés ici et je bute sur un exercice ,en sommes pas compliqué mais ou je comprends pas l’erreur de mon code,cet exo est sur une somme d’argent que l’on doit donner en petite coupure de maniere minimale je sais qu’il y a de meilleures methodes pour le coder ,mais pq ca ne marche pas malgré tout??

void coupure( int somme)
{

    int reste;
    int cent,cinquante,vingt,dix,cinq,deux,un = 0;



         for(int i=1;(100*i)<=somme;i++)
        {

            cent++;
        }
         reste=somme-(100*cent);


         for(int j=1;(50*j)<=reste;j++)
        {
            cinquante++;
        }

      reste-=(50*cinquante);




    printf("%d billets de 100\n%d billets de 50\n%d:",cent,cinquante);
}

dans cette fonction je recois la somme rentrée par l’utilisateur,OK ensuite je calcule le maximum de billets de cent délivrable pour la somme ;OK ma variable "reste= somme-(100*cent)" donne le bon resultat. le pb est quand je passe a la deuxieme boucle for ou là j’utile la variable "reste",le resultat est incoherent. il y a une raison ?? merci d’avance.

Bonjour,

Quelle est l’incohérence en question ?

En regardant le code je ne suis pas sûr que toutes tes variables soient correctement initialisées.

Aussi, ton printf présente un %d final qui n’est lié à aucun argument.

Salut,

C’est le genre d’erreur classique que ton compilateur va voir si tu compiles avec les warnings qui vont bien (en l’occurence -Wuninitialized qui fait partie de -Wall et -Wextra). Si je ne m’abuse, c’est ce qui est préconisé par le tuto C.

+3 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte