IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres IDE Pascal Discussion :

Créer une application pour un supermarché


Sujet :

Autres IDE Pascal

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut Créer une application pour un supermarché
    Bonjour,

    Je dois écrire une application qui permet dans un supermarché d'afficher la meilleure monnaie possible à rendre à un client donné. Cette monnaie doit être inférieure à 10000. Si, par exemple, la monnaie qu'on doit au client est de 9525; la caissière doit lui remettre:
    • 1 billet de 5000
    • 2 billets de 2000
    • 1 pièce de 500
    • 1 pièce de 200
    • et 1 piece de 25


    NB: LES COUPURES D'ARGENT SONT:
    1. les billets

    • 10000f
    • 5000f
    • 2000f
    • 1000f


    1. LES PIECES

    • 500f
    • 250f
    • 200f
    • 100f
    • 50f
    • 25f
    • 10f
    • 5f


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Program devMonnaie;
    uses crt;
      const billet5000=5000, billet2000=2000,billet1000=1000, p500=500, p250=250, p200=200, p100=100, p50=50, p25=25, p10=10, p5=5;
    var   monnaie, mses:integer;
     
    	rep:char;
     begin
          repeat
       writeln('entrer la monnaie à donner');
       saisir(mses);  (*mses designe la monnaie restante*)
                while (mses > 10000) do
                      begin
                writeln('entrer la monnaie a remettre');
                readln('mses');
                       end;
               if mes=5000 then
                  writeln('la monnaie à remettre est: 1 billet de ',billet5000)
          until rep='q' or rep='Q'
      end.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Pour obtenir une aide efficace, le moins que tu puisses faire est de montrer ce que tu as fait, d'expliquer les problèmes que tu rencontres en postant un ou plusieurs extraits de code. Sans cela, nous ne pouvons deviner où se situent tes difficultés.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Program devMonnaie;
    uses crt;
      const billet5000=5000, billet2000=2000,billet1000=1000, p500=500, p250=250, p200=200, p100=100, p50=50, p25=25, p10=10, p5=5;
    var   monnaie, mses:integer;
     
    	rep:char;
     begin
          repeat
       writeln('entrer la monnaie à donner');
       saisir(mses);  (*mses designe la monnaie restante*)
                while (mses > 10000) do
                      begin
                writeln('entrer la monnaie a remettre');
                readln('mses');
                       end;
               if mes=5000 then
                  writeln('la monnaie à remettre est: 1 billet de ',billet5000)
          until rep='q' or rep='Q'
      end.
    Au fait je n'arrives pas à appréhender le problème, je peux demander à la caissière de mettre le prix du produit, taper la quantité de produit, tout et tout mais, je ne sais comment faire pour que la monnaie soit donnée de façon automatique en donnant la monnaie à remettre. En effet si la monnaie est de 7655; la caissière devra donner 1 billet de 5000, 1billet de 2000, 1pièce de 500, 1 piece de 50 et 1 piece de 5f.
    je n'y comprend rien

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Muy,

    Bigre, voilà un exercice qui date !

    Des billets de 10000f (qui d'ailleurs n'ont jamais existé, f en minuscule n'étant pas le symbole légal pour Franc , et de plus, on doit séparer le montant et le symbole par un espace).

    Mais je pinaille, c'était juste pour ne pas écrire la même chose que maître Alcatîz, dont je partage l'avis.

    Et pour ankojem, j'ajoute quand même : comment résous-tu le problème à la main ? Vu ? Alors tu as un algorithme, "yaka" l'écrire en clair, puis à l'implémenter en Pascal.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par droggo Voir le message
    Des billets de 10000f (qui d'ailleurs n'ont jamais existé,
    Je pense qu'il s'agit de francs CFA.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut yes CFA
    au fait il s'agit du fait il s'agit du Franc Cfa

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Hue,
    Citation Envoyé par ankojem Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Program devMonnaie;
    uses crt;
      const billet5000=5000, billet2000=2000,billet1000=1000, p500=500, p250=250, p200=200, p100=100, p50=50, p25=25, p10=10, p5=5;
    var   monnaie, mses:integer;
     
    	rep:char;
     begin
          repeat
       writeln('entrer la monnaie à donner');
       saisir(mses);  (*mses designe la monnaie restante*)
                while (mses > 10000) do
                      begin
                writeln('entrer la monnaie a remettre');
                readln('mses');
                       end;
               if mes=5000 then
                  writeln('la monnaie à remettre est: 1 billet de ',billet5000)
          until rep='q' or rep='Q'
      end.

    je n'y comprend rien
    Il faut suivre la démarche habituelle :

    - Comment faire ?
    Ça consiste à chercher l'algorithme de résolution.
    Pour ce genre de petit problème, l'algorithme est celui qu'on suit intuitivement quand on doit faire l'action manuellement.
    Donc écrit en clair ce que tu fais "à la main".

    - Implémenter dans un langage
    Ici, le Pascal, très proche de ce qu'on fait pour décrire l'algorithme, donc si la première étape a bien été faite, ça ne doit pas poser de problème.

    Par rapport à ça, regarde ton code et compare : manifestement tu as codé sans savoir où tu allais, ce n'est pas la bonne méthode.

    Au boulot !
    Si les cons volaient, il ferait nuit à midi.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    J'ai pu faire quelque chose mais, ce n'est pas assez réussi. il faut que la monnaie soit la plus minime possible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    PROGRAM MONNAIE;
     
    const billet5000=5000;billet2000=2000;billet1000=1000;p500=500;p250=250;p200=200;p100=100;p50=50;
          p25=25;p20=20; p10=10;p5=5;
     
     
    var N:integer;
     
     
     
        begin
     
        writeln('entrer la monnaie a remettre au client');
        readln(n);
     
        while n>= 5000 do
              begin
              n:=n-5000;
              write(billet5000,'+');
              end;
     
         if n>=2000 then
            begin
            n:=n-2000;
            write(billet2000,'+');
            end;
     
         while n>=1000 do
               begin
               n:=n-1000;
               write(billet1000,'+');
               end;
     
         if n>=500 then
            begin
            n:=n-500;
            write(p500,'+');
            end;
     
         while n>=250 do
               begin
               n:=n-250;
               write(p250,'+');
               end;
     
         if n>=200 then
            begin
            n:=n-200;
            write(p200,'+');
            end;
     
         while n>=100 do
               begin
               n:=n-100;
               write(p100,'+');
               end;
     
         if n>=50 then
            begin
            n:=n-50;
            write(p50,'+');
            end;
     
         while n>=25 do
               begin
               n:=n-25;
               write(p25,'+');
               end;
     
         if n>=20 then
            begin
            n:=n-20;
            write(p20,'+');
            end;
     
         while n>=10 do
               begin
               n:=n-10;
               write(p10,'+');
               end;
     
         if n>=5 then
            begin
            n:=n-5;
            write(p5);
            end;
                    while not eof do
                          begin
                          read(n);
                          writeln;
                          end;
     
                    end.

  9. #9
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Sans passer par des noms de constantes, tu devrais pouvoir n'utiliser que deux boucles imbriquées... Avec l'aide d'un tableau où tu stockes les valeurs des billets/pièces.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut UN exemple pourrait m'aider
    pourrais-je avoir un code plus explixite

  11. #11
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Tu vois bien qu'il existe un point commun dans toutes les boucles que tu utilises dans ton code: elles ont toutes la même forme. Tu peux donc trouver une forme générique et en faire une boucle aussi...

    En pseudo-code:

    tant que le reste est différent de 0
    tant que le reste est supérieur à la pièce X
    reste = reste - X
    afficher pièce X à rendre
    fin
    fin

    Bon c'est vraiment mâché là...
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut MERCI A TOUS !!!! J'AI PU RESOUDRE MON PROBLEME
    Voici le code final que j'ai pu obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    program Monnaie;
    uses crt;
    const
    billet5000=5000; billet2000=2000; billet1000=1000; pieces500=500; pieces250=250; pieces200=200; pieces100=100; pieces50=50; pieces25=25; pieces10=10; pieces5=5;
    var
    Achat, Mon :integer;
    q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11:integer;
    BEGIN
    Writeln('entrer prix des achats');
    readln(Achat);
    writeln('entrer la monnaie a remettre au client');
    readln(Mon);
     
    while Mon>=10000 do
    begin
          writeln('entrer la monnaie a remettre au client');
    readln(Mon);
            end;
    q1:= Mon DIV 5000;
    r1:=Mon MOD 5000;
    q2:= r1 DIV 2000;
    r2:= r1 MOD 2000;
    q3:= r2 DIV 1000;
    r3:= r2 MOD 1000;
    q4:= r3 DIV 500;
    r4:= r3 MOD 500;
    q5:= r4 DIV 250;
    r5:= r4 MOD 250;
    q6:= r5 DIV 200;
    r6:= r5 MOD 200;
    q7:= r6 DIV 100;
    r7:= r6 MOD 100;
    q8:= r7 DIV 50;
    r8:= r7 MOD 50;
    q9:= r8 DIV 25;
    r9:= r8 MOD 25;
    q10:=r9 DIV 10;
    r10:= r9 MOD 10;
    q11:= r10 DIV 5;
    r11:= r10 MOD 5;
    if q1<>0 then
    begin
    writeln('le nombre de billet de 5000 est:',q1);
    end;
    if q2<>0 then
    begin
    writeln('le nombre de billet de 2000 est:',q2);
    end;
    if q3<>0 then
    begin
    writeln('le nombre de billet de 1000 est:',q3);
    end;
    if q4<>0 then
    begin
    writeln('le nombre de piece de 500 est:',q4);
    end;
    if q5<>0 then
    begin
    writeln('le nombre de piece de 250 est:',q5);
    end;
    if q6<>0 then
    begin
    writeln('le nombre de piece de 200 est:',q6);
    end;
    if q7<>0 then
    begin
    writeln('le nombre de piece de 100 est:',q7);
    end;
    if q8<>0 then
    begin
    writeln('le nombre de piece de 50 est:',q8);
    end;
    if q9<>0 then
    begin
    writeln('le nombre de piece de 25 est:',q9);
    end;
    if q10<>0 then
    begin
    writeln('le nombre de piece de 10 est:',q10);
    end;
    if q11<>0 then
    begin
    writeln('le nombre de piece de 5 est:',q11);
    end;
    readln;
    end.


    Je souhaite avoir tous les jours le coup d'oeil, disons que ce n'est pas facile pour nous les débutants...
    A BIENTOT

  13. #13
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Voilà exactement ce qu'il ne faut PAS faire. Tu as un code qui peut être générique pour tous les montants possibles de pièces, mais ton effort s'est porté à décrire explicitement tous les cas possibles.

    Il aurait été plus judicieux de trouver une manière de raccourcir ton code plutôt que de l'alourdir considérablement avec des tests et un nombre de variables affolant.

    Relis nos conseils, tu devrais pouvoir trouver le point commun de toutes les étapes que tu as écrit, et de là devrait découler un mécanisme pour rendre générique ton code.

    Médite là dessus: si le magasin te demandait la même application pour rendre la monnaie sur 1000000000000000000000000000 francs, tu écrirais tous les tests de divisions possibles ?
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut OK !! J'avais eu à resoudre ce probleme de deux(2) manieres
    OK !! J'avais eu à resoudre ce probleme de deux(2) manieres, et voilà la deuxieme que j'ai fait:

    D'abord voila le sujet:
    Ecrire un programme en pascal qui permet dans un supermarché d'afficher la meilleure monnaie, possible à rendre à 1 client donné. cette monnaie doit être inférieure à 10000Fcfa
    Donner le nombre de billet ou pièce, de telle sorte qu'on ai la plus petite monnaie possible.
    Coupure de monnaie en FCFA:
    1. les billets


    • 10000f
    • 5000f
    • 2000f
    • 1000f


    1. LES PIECES

    • 500f
    • 250f
    • 200f
    • 100f
    • 50f
    • 25f
    • 10f
    • 5f

    .



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    PROGRAM MONNAIE;
     
    const billet5000=5000;billet2000=2000;billet1000=1000;p500=500;p250=250;p200=200;p100=100;p50=50;
          p25=25; p10=10;p5=5;
     
     
    var N:integer;
        i1,i2,i3,i4,i5,i6,i7,i8,i9,i11,i12:integer;
     
     
     
        begin
     
     
     
        writeln('***********entrer la monnaie a remettre au client************');
        readln(n);
     
        while n>=10000 do
              begin
            writeln('entrer la monnaie a remettre au client');
        readln(n);
        end;
     
     
        while n>= 5000 do
              begin
              n:=n-5000;
               i1:=i1+1;
     
              end;
              writeln('vous devez remettre au client ');
              if i1<>0 then
              begin
               writeln(i1,' billet(s) de ',billet5000);
               end;
     
         while n>=2000 do
            begin
            n:=n-2000;
            i2:=i2+1;
            end;
            if i2<>0 then
            begin
             writeln('+ ',i2,' billet(s) de ',billet2000);
              end;
     
         while n>=1000 do
               begin
               n:=n-1000;
               i3:=i3+1;
               end;
               if i3<>0 then
               begin
                writeln('+ ',i3,' billet(s) de ',billet1000);
                end;
     
         while n>=500 do
            begin
            n:=n-500;
            i4:=i4+1;
            end;
            if i4<>0 then
            begin
            writeln('+ ',i4,' piece(s) de ',p500);
            end;
     
         while n>=250 do
               begin
               n:=n-250;
               i5:=i5+1;
               end;
               if i5<>0 then
               begin
              writeln('+ ',i5,' piece(s) de ',p250);
              end;
     
         while n>=200 do
            begin
            n:=n-200;
            i6:=i6+1;
            end;
            if i6<>0 then
            begin
             writeln('+ ',i6,' piece(s) de ',p200);
             end;
     
         while n>=100 do
               begin
               n:=n-100;
               i7:=i7+1;
               end;
               if i7<>0 then
               begin
               writeln('+ ',i7,' piece(s) de ',p100);
               end;
     
         while n>=50 do
            begin
            n:=n-50;
            i8:=i8+1;
            end;
            if i8<>0 then
            begin
               writeln('+ ',i8,' piece(s) de ',p50);
               end;
     
         while n>=25 do
               begin
               n:=n-25;
               i9:=i9+1;
               end;
               if i9<>0 then
               begin
               writeln('+ ',i9,' piece(s) de ',p25);
               end;
     
         while n>=10 do
               begin
               n:=n-10;
               i11:=i11+1;
               end;
               if i11<>0 then
               begin
               writeln('+ ',i11,' piece(s) de ',p10);
               end;
     
         while n>=5 do
            begin
            n:=n-5;
            i12:=i12+1;
            end;
            if i12<>0 then
            begin
            writeln('+ ',i12,' piece(s) de ',p5);
            end;
     
            writeln;
            writeln('tapez "EXIT" ou une "lettre" pour quitter');
                    while not eof do
                          begin
                          read(n);
                          writeln;
                          end;
     
     
                    end.
    Pour les "i" je crois que je pouvais mettre qu'un seul "i" dans toutes les boucles....

    DONNEZ MOI VOS AVIS CAR JE PENSE AVOIR TERMINER, MERCI A VOUS TOUS DE M'AVOIR AIDER.

  15. #15
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Voe,

    Oh que c'est laid, et ne tient pas compte du message de wormful_sickfoot (voir message #13 plus haut) !!
    Si les cons volaient, il ferait nuit à midi.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    program monnaie;
    var
    e,mv,reste,nb10e,nb5e,compteur:integer;
    i:integer;
    totala:integer;
    begin
    i:=0;
    totala:=0;
     
    writeln('entrez le nombre d''article');
    readln(compteur);
    repeat
    writeln('entrez le montant des articles');
    readln(e);
    i:=i+1;
    totala:=totala+e;
    until(i=compteur);
    writeln('vous avez fait un achat de',totala);
    if(totala=0)then
    writeln('vous n''avez pas fait d''achat');
    readln;
     
     
    writeln('entrez le montant que vous devez verser');
      readln(mv);
    while (mv<totala) do   {restriction du montant versé}
    begin
    writeln('entrez le montant que vous devez verser');
    readln(mv);
    end;
    reste:=mv-totala;
     
     nb5e:=0; {initialisation des pieces}
    nb10e:=0;
    while(reste>=10)do
    begin
    nb10e:=nb10e+1;
    reste:=reste-10;
    end;
     
    while (reste>=5)do
    begin
    nb5e:=nb5e+1;
    reste:=reste-5;
    end;
     
    writeln('nous vous devons:',mv-totala,'Euro');
    writeln('montant rendue');
     
    writeln('billet de 10 Euro ',nb10e);
    writeln('billet de 5Euro ',nb5e);
    writeln('pieces de 1 euro ',reste);
     
    readln;
    end.
    JE SUIS DE RETOUR DONNEZ MOI LA SUITE

  17. #17
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Qua,

    Bigre, un up 1 minute après le message ! (pourquoi faire une citation de ton propre message pour seulement ajouter une petite ligne, il fallait éditer).

    Au passage : écrire en majuscule sur un forum est habituellement interprété comme hausser la voix, ou crier, ... donc très mal vu, d'autant plus que tu nous ordonne de te donner ce qui te manque ...

    Fais une présentation correcte de ton code : indentation, aérer (des lignes vides) pour faciliter la lecture, ...

    Ton code ne correspond pas au problème d'origine, problème que tu ne traites d'ailleurs pas du tout.

    Si les cons volaient, il ferait nuit à midi.

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/04/2009, 12h53
  2. créer une application pour Pocket PC
    Par adrien954 dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/02/2009, 22h05
  3. [iPhone] Créer une application pour l'iphone ?
    Par maud75 dans le forum Apple
    Réponses: 3
    Dernier message: 25/11/2008, 15h48
  4. Réponses: 2
    Dernier message: 24/11/2006, 19h40
  5. [VS.Net] créer une application pour le mobile
    Par rudhf dans le forum Visual Studio
    Réponses: 4
    Dernier message: 20/05/2006, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo