Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Autres IDE
Autres IDE Les autres environnements de développement (PP Compiler, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 19h12   #1
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
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.
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/01/2012, 19h49   #2
Alcatîz
Responsable Pascal

 
Avatar de Alcatîz
 
Homme Jean-Luc Gofflot
Ressources humaines
Inscription : mars 2003
Messages : 5 508
Détails du profil
Informations personnelles :
Nom : Homme Jean-Luc Gofflot
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : mars 2003
Messages : 5 508
Points : 39 349
Points : 39 349
Envoyer un message via ICQ à Alcatîz Envoyer un message via MSN à Alcatîz Envoyer un message via Yahoo à Alcatîz Envoyer un message via Skype™ à Alcatîz
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]
Alcatîz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 20h12   #3
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
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.
Citation:
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
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2012, 20h13   #4
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 414
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 414
Points : 3 769
Points : 3 769
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.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/01/2012, 20h55   #5
Alcatîz
Responsable Pascal

 
Avatar de Alcatîz
 
Homme Jean-Luc Gofflot
Ressources humaines
Inscription : mars 2003
Messages : 5 508
Détails du profil
Informations personnelles :
Nom : Homme Jean-Luc Gofflot
Âge : 46
Localisation : Belgique

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

Informations forums :
Inscription : mars 2003
Messages : 5 508
Points : 39 349
Points : 39 349
Envoyer un message via ICQ à Alcatîz Envoyer un message via MSN à Alcatîz Envoyer un message via Yahoo à Alcatîz Envoyer un message via Skype™ à Alcatîz
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]
Alcatîz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 09h09   #6
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
Par défaut yes CFA

au fait il s'agit du fait il s'agit du Franc Cfa
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 10h05   #7
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 414
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 414
Points : 3 769
Points : 3 769
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.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 10h23   #8
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
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.
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h17   #9
M.Dlb
Rédacteur/Modérateur
 
Avatar de M.Dlb
 
Inscription : avril 2002
Messages : 2 274
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2002
Messages : 2 274
Points : 3 381
Points : 3 381
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
M.Dlb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h40   #10
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
Par défaut UN exemple pourrait m'aider

pourrais-je avoir un code plus explixite
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 12h58   #11
M.Dlb
Rédacteur/Modérateur
 
Avatar de M.Dlb
 
Inscription : avril 2002
Messages : 2 274
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2002
Messages : 2 274
Points : 3 381
Points : 3 381
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
M.Dlb est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 31/01/2012, 19h56   #12
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
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.


Citation:
Je souhaite avoir tous les jours le coup d'oeil, disons que ce n'est pas facile pour nous les débutants...
A BIENTOT
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 21h11   #13
M.Dlb
Rédacteur/Modérateur
 
Avatar de M.Dlb
 
Inscription : avril 2002
Messages : 2 274
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : avril 2002
Messages : 2 274
Points : 3 381
Points : 3 381
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
M.Dlb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 14h45   #14
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
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:
Citation:
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.
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 15h05   #15
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 414
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 414
Points : 3 769
Points : 3 769
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.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2012, 22h32   #16
ankojem
Invité de passage
 
Homme Konan Jean Emmanuel Angoua
Étudiant
Inscription : 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 : 0
Points : 0
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
ankojem est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 14/03/2012, 12h13   #17
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 414
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 414
Points : 3 769
Points : 3 769
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.
droggo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h45.


 
 
 
 
Partenaires

Hébergement Web