Calcul ttc sur cobol :aidez moi svp

airmimi59 Messages postés 13 Statut Membre -  
cchristian Messages postés 928 Statut Membre -
bonjour,

je dois écrire une suite d'instructions sur Gcobol qui saisit en centimes le prix HT d'un article et le nombre d'articles et qui affiche le prix TTC corespondant en euro et centimes.Je l'ai fait mais apparemment il y a des erreurs puisque il ne compile pas jusqu'au bout....Je voudrai votre aide svp!!!Je vous remercie

IDENTIFICATION DIVISION.
PROGRAM-ID.EXO7.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 PRIXHT PIC 99999999.
77 PRIXHTTOTAL PIC 999999.
77 ARTICLES PIC 99999.
77 TVA PIC Z(1),999.
77 POURCENTAGE PIC Z(8),999.
PROCEDURE DIVISION.
DEBUT.
ACCEPT PRIXHT
ACCEPT ARTICLES
MULTIPLY ARTICLES BY PRIXHT
MOVE 0196 TO TVA
MULTIPLY TVA BY PRIXHT GIVING POURCENTAGE
ADD POURCENTAGE TO PRIXHT GIVING PRIXTTC
DISPLAY PRIXTTC
STOP RUN.
A voir également:

3 réponses

cchristian Messages postés 928 Statut Membre 131
 
Bonjour,

Quelques remarques :

1) Il manque : SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
 ENVIRONMENT                        DIVISION.

 CONFIGURATION                SECTION.
 SPECIAL-NAMES.               DECIMAL-POINT IS  COMMA.


2) Une variable décrite avec une PICTURE d'édition ne peut pas être utilisée pour effectuer des calcul :
77 TVA PIC Z(1),999. 
77 POURCENTAGE PIC Z(8),999. 

MULTIPLY TVA BY PRIXHT GIVING POURCENTAGE 
ADD POURCENTAGE TO PRIXHT GIVING PRIXTTC 


3) Utiliser pour les calculs, la virgule virtuelle pour les variables décrivant des montants (centimes d'euros)

77 PRIXHT PIC 999999V99. 
77 PRIXHTTOTAL PIC 9999V99. 
77 ..................................... 
77 TVA PIC 9V999. 
77 POURCENTAGE PIC 9(8)V999. 


4) PRIXTTC n'est pas défini :
ADD POURCENTAGE TO PRIXHT GIVING PRIXTTC 
Par contre il peut (doit) être décrit avec une PICTURE d'édition.
77 PRIXTTC PIC Z(08)9,99.  
par exemple

5) Dans un littéral numérique, formaliser la virgule réelle pour rendre compte d'une valeur fractionnaire:
MOVE 0,196 TO TVA 

0
cchristian Messages postés 928 Statut Membre 131
 
(Suite)

 IDENTIFICATION                     DIVISION.

 PROGRAM-ID.    EXO07.
 AUTHOR.        CH.
 DATE-WRITTEN.  12/10/2008.
 DATE-COMPILED.

 ENVIRONMENT                        DIVISION.

 CONFIGURATION                SECTION.
 SPECIAL-NAMES.               DECIMAL-POINT IS  COMMA.

 DATA                               DIVISION.
 FILE                         SECTION.


 WORKING-STORAGE              SECTION.

 77  PRIXHT                   PIC 999999V99.
* 77  PRIXHTTOTAL              PIC 9999V99.
 77  ARTICLES                 PIC 99999.
 77  TVA                      PIC 99V999.
 77  POURCENTAGE              PIC 9(4)V999.
 77  PRIXTTC                  PIC Z(07)9,99.


 LINKAGE                      SECTION.


 PROCEDURE                          DIVISION.

 DEBUT.

     DISPLAY  'ENTREZ LE PRIX HT :  '    UPON   CONSOLE.
     ACCEPT    PRIXHT                    FROM   CONSOLE.
     DISPLAY  'ENTREZ LA QUANTITE : '    UPON   CONSOLE.
     ACCEPT    ARTICLES                  FROM   CONSOLE.
     MULTIPLY  ARTICLES        BY PRIXHT.
     MOVE      0,196           TO TVA.
     MULTIPLY  TVA             BY PRIXHT GIVING POURCENTAGE.
     ADD       POURCENTAGE     TO PRIXHT GIVING PRIXTTC.
     DISPLAY  'PRIX TTC : ',   PRIXTTC   UPON   CONSOLE.
     STOP RUN.

 END-PGM.
0
airmimi59 Messages postés 13 Statut Membre
 
MERCI pour ton aide!!!
je te remercie enormement!!
a bientot j'espère!!!
Salut!!!
0
cchristian Messages postés 928 Statut Membre 131
 
MERCI pour le retour, bon courage.
0