Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 17 sur 17
  1. #1

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    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 :
    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

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    6 053
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 47
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2003
    Messages : 6 053
    Points : 37 278
    Points
    37 278

    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
    Tutoriels, exercices, FAQ, sources, compilateurs, outils, livres Pascal
    Mes tutoriels et sources Pascal
    FAQ Assembleur

    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]

  3. #3

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    Par défaut

    Code :
    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é Sénior
    Inscrit en
    août 2006
    Messages
    3 544
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 544
    Points : 4 043
    Points
    4 043

    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.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  5. #5
    Responsable Pascal

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    6 053
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 47
    Localisation : Belgique

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

    Informations forums :
    Inscription : mars 2003
    Messages : 6 053
    Points : 37 278
    Points
    37 278

    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
    Tutoriels, exercices, FAQ, sources, compilateurs, outils, livres Pascal
    Mes tutoriels et sources Pascal
    FAQ Assembleur

    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]

  6. #6

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    Par défaut yes CFA

    au fait il s'agit du fait il s'agit du Franc Cfa

  7. #7
    Expert Confirmé Sénior
    Inscrit en
    août 2006
    Messages
    3 544
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 544
    Points : 4 043
    Points
    4 043

    Par défaut

    Hue,
    Citation Envoyé par ankojem Voir le message
    Code :
    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 !
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  8. #8

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    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 :
    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 331
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : avril 2002
    Messages : 2 331
    Points : 3 403
    Points
    3 403

    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

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    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 331
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : avril 2002
    Messages : 2 331
    Points : 3 403
    Points
    3 403

    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

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    Par défaut MERCI A TOUS !!!! J'AI PU RESOUDRE MON PROBLEME

    Voici le code final que j'ai pu obtenir
    Code :
    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 331
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations forums :
    Inscription : avril 2002
    Messages : 2 331
    Points : 3 403
    Points
    3 403

    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

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    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 :
    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é Sénior
    Inscrit en
    août 2006
    Messages
    3 544
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 544
    Points : 4 043
    Points
    4 043

    Par défaut

    Voe,

    Oh que c'est laid, et ne tient pas compte du message de wormful_sickfoot (voir message #13 plus haut) !!
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  16. #16

    Homme Profil pro Konan Jean Emmanuel Angoua
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Nom : Homme Konan Jean Emmanuel Angoua
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 11
    Points : -1
    Points
    -1

    Par défaut

    Code :
    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é Sénior
    Inscrit en
    août 2006
    Messages
    3 544
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 544
    Points : 4 043
    Points
    4 043

    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.

    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •