Bonjour, voila je dois réaliser une application qui consiste de réservé des appartements et en fonctions de la date de début de la location il y a 2 prix.
J'ai donc réaliser un sous-programme qui prend en paramètre la date du début le numero de l'appartement et montant (montant total du par le client) et le nombre de semaine de réservation.

J'ai donc réaliser une boucle qui permet en fonction de la date de savoir quel prix pratiqué mais je voudrais que la date avance de 1 semaine a chaque passage dans la boucle.

je sais pas si je suis assez clair !!

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
       program-id. total.

       file-control.
           select f-appart assign to 'appart.dat' organization indexed
           access dynamic record key NumApparta
           alternate key NumPropa duplicates.

       fd f-appart.
       1 Appartement.
           2 NumApparta pic 999.
           2 NumPropa pic 99.
           2 Nbpiecea pic 99.
           2 Etagea pic 99.
           2 NbPersMaxa pic 99.
           2 tarifHTa pic 9(4).
           2 tarifBSa pic 9(4).
           2 vuea pic x(20).
           2 Villea pic x(20).

       working-storage section.
       1 i pic 9 value 1.
       1 tot pic 9(5) value 0.
       1 jour pic 99.
       1 mois pic 99.
       1 val1 pic 9(8).

       linkage section.
           1 montant pic 9(5).
           1 datedeb pic 9(8).
           1 numa pic 999.
           1 nbsem pic 9.

       screen section.
       1 a-plg-tot.
           2 line 18 col 4 'Montant :'.
           2 a-tot pic 9(5) from tot.

       procedure division using datedeb numa nbsem montant.
           open input f-appart
           move numa to NumApparta
           move datedeb(5:2) to jour
           move datedeb(7:2) to mois
           perform test after varying i from 1 by 1 until i = nbsem
               read f-appart
               if mois <= 9 then
                   if mois > 4 and jour > 16 then
                       compute tot = tot + tarifHTa
                   end-if
               else
                   compute tot = tot + tarifBSa
               end-if

           end-perform
           move tot to montant
           display a-plg-tot
           close f-appart

       end program total.