Bonsoir,
Voilà, mon première essai en ADA pose problème: la compilation du programme et son construction ne génère aucun message d'erreur, pourtant le resultat voulu (affichage de la monnaie rendue avec détails des pièces et billets ne s'execute pas)
Quelqu'un aurait une idée?? Merci
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 with Ada.Text_IO; USE Ada.Text_IO; WITH Ada.Integer_Text_IO; use ada.Integer_Text_IO; --premier programme de daninou --achat et rendu de monnaie au supermarché --début de la procédure-- PROCEDURE Essai IS Mt_Achat:Integer; Mt_Versement:Integer; Mt_Rendu:Integer; Reste:Integer; Rendu_20, Rendu_10, Rendu_5, Rendu_2, Rendu_1:Integer; Nb_20 : CONSTANT Integer:= 5; Nb_10 : CONSTANT Integer:= 5; Nb_5 : CONSTANT Integer:= 5; Nb_2 : CONSTANT Integer:= 10; Nb_1 : CONSTANT Integer:= 10; -- début du programme-- BEGIN Put ("Entrer le montant de l'achat: "); Get (Mt_Achat); Skip_Line; Put ("Entrez le montant du versement: "); Get (Mt_Versement); Skip_Line; Mt_Rendu:=Mt_Versement - Mt_Achat; Reste:=Mt_Rendu; Rendu_20:=Reste/20; IF Rendu_20>Nb_20 THEN Reste:=Nb_20; ELSE NULL; END IF; Reste:= Reste-Rendu_20*20; Rendu_10:=Reste/10; IF Rendu_10>Nb_10 THEN Reste:=Nb_10; ELSE NULL; END IF; Reste:= Reste-Rendu_10*10; Rendu_5:=Reste/5; IF Rendu_5>Nb_5 THEN Reste:=Nb_5; ELSE NULL; END IF; Reste:= Reste-Rendu_5*5; Rendu_2:=Reste/2; IF Rendu_2>Nb_2 THEN Reste:=Nb_2; ELSE NULL; END IF; Reste:= Reste-Rendu_2*2; Rendu_1:=Reste/1; IF Reste>Nb_1 THEN Put ("pas assez de monnaie à rendre"); ELSE Rendu_1:=Reste; END IF; Put ("montant a rendre"); Get (Mt_Rendu,3); Get (Rendu_20, 3); Get (Rendu_10, 3); Get (Rendu_5, 3); Get (Rendu_2, 3); Get (Rendu_1, 3); END Essai;
Partager