IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cobol Discussion :

[KUbuntu 9.04] [OpenCobol version 1.0] COBOL Programme


Sujet :

Cobol

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [KUbuntu 9.04] [OpenCobol version 1.0] COBOL Programme
    Bonjour,
    Pour certain de mes cours je suis amené à faire un programme en COBOL. Cependant celui ci ne compile pas correctement et je n'arrive pas à trouver mes erreurs.

    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
    000100 * cobol part
    000200 IDENTIFICATION DIVISION.
    000300 PROGRAM-ID. ERRORS-EXAMPLE.
    000400 DATA DIVISION.
    000500 77 ITEM-DESC PIC X(20).
    000600 77 ITEM-COST PIC 999V99.
    000700 77 VAT PIC 999V99.
    000800 77 TOTAL PIC 999V99.
    000900 PROCEDURE-DIVISION.
    001000 BILL-SEQ
    001100 MOVE 0 TO TOTAL.
    001200     INPUT ITEM-DESC
    001300     INPUT ITEM-COST.
    001400 INPUT-ITER.
    001500     IF ITEM-COST = 0 GO TO INPUT-END
    001600         ADD ITEM-COST TO TOTAL
    001700        ACCEPT ITEM-DESC
    001800        ACCEPT ITEM-COST
    001900        GO TO INPUT-ITER.
    002000 INPUT-END.
    002100    MULTIPLY 0.15 BY TOTAL GIVING VAT
    002200    ADD VAT TO TOTAL
    002300    DISPLAY OUTPUT TOTAL
    002400     STOP RUN.
    Quelqu'un pourrait-il me venir en aide?
    Merci d'avance !

    PeaCePiPe

    EDIT : Excusez les erreurs. Je viens d'éditer le titre du post, et voici les messages d'erreurs du compilateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    desktop:~$ cobc -x H.CBO
    H.CBO:5: Error: syntax error, unexpected WORD, expecting $end

  2. #2
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Citation Envoyé par PeaCePiPe Voir le message
    Bonjour,
    Pour certain de mes cours je suis amené à faire un programme en COBOL. Cependant celui ci ne compile pas correctement et je n'arrive pas à trouver mes erreurs.
    Quelqu'un pourrait-il me venir en aide?
    Merci d'avance !

    PeaCePiPe
    Bonjour.

    On est là pour ça à condition que :
    1° - Tu modifies le titre de ta discussion en nous indiquant le système d'exploitation et le compilateur comme dans cette discussion : Règle Tag [SystèmeExploitation-VersionCompilateur]
    2° - Tu nous donnes les erreurs de compilation que tu as eues. 'C'est sûr que certains ont déjà vu les erreurs, mais moi j'ai perdu ma boule de cristal )

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 62
    Points : 44
    Points
    44
    Par défaut
    Bonjour,
    Moi aussi en essayant de compiler du cobol, j'ai le même problème "Error: syntax error, unexpected WORD, expecting $end" alors que l'instruction est au milieu du code.

    Merci de votre réponse.

  4. #4
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Je ne connais pas ce compilateur.

    - Commence par mettre le * en colonne 7 dans la 1ère ligne
    - Je ne comprends pas les instructions INPUT dans les lignes 12 et 13, INPUT est un mot réservé Cobol pour spécifier la nature d'ouverture d'un fichier dans l'instruction OPEN.

    Normalement tu dois avoir un listing de compilation, peut être redirigé vers un fichier.

  5. #5
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    Bonjour,

    j'ai aussi un peu de mal à lire ton programme; qu'en est il du colonage? col 7 8 12? c'est ton coupé/collé qui met le source ainsi dans ton post ou c'est "normal". si 2eme option, commence par mettre les bons colonages.

    sinon, quelques étrangetés remarquées comme ça en passant:

    - PROCEDURE-DIVISION. <<<< il n'y a pas de - entre PROCEDURE et DIVISION
    - manques (à mon avis) quelques . dans ton source..par exmple sur ces lignes
    001000 BILL-SEQ
    001500 IF ITEM-COST = 0 GO TO INPUT-END (il n y a pas de END-IF sur ce cobol?)


    moi non plus je ne connais pas ces instructions...
    001200 INPUT ITEM-DESC
    001300 INPUT ITEM-COST.


    bon courage

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci pour vos diverses réponses, j'ai enfin réussi à mettre en forme mon programme. Je poste le code, on sait jamais si celui ci peut aider quelqu'un.

    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
    
    IDENTIFICATION DIVISION.
    PROGRAM-ID. ERRORS-EXAMPLE.
    DATA DIVISION.
    77 ITEM-DESC PIC X(20).
    77 ITEM-COST PIC 999V99.
    77 VAT PIC 999V99.
    77 TOTAL PIC 999V99.
    PROCEDURE DIVISION.
    BILL-SEQ.
    MOVE 0 TO TOTAL.
    ACCEPT ITEM-DESC
    ACCEPT ITEM-COST
    INPUT-ITER.
    IF ITEM-COST = 0 GO TO INPUT-END
    ADD ITEM-COST TO TOTAL
    ACCEPT ITEM-DESC
    ACCEPT ITEM-COST
    GO TO INPUT-ITER.
    INPUT-END.
    MULTIPLY 0.15 BY TOTAL GIVING VAT
    ADD VAT TO TOTAL
    DISPLAY TOTAL
    STOP RUN.

  7. #7
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Voilà plutôt comment ton programme devrait être indenté.

    L'as tu compilé et exécuté ?
    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
    000010 IDENTIFICATION DIVISION.
    000020 PROGRAM-ID. ERRORS-EXAMPLE.
    000030 DATA DIVISION.
    000040 77  ITEM-DESC PIC X(20).
    000050 77  ITEM-COST PIC 999V99.
    000060 77  VAT PIC 999V99.
    000070 77  TOTAL PIC 999V99.
    000080 PROCEDURE DIVISION.
    000090 BILL-SEQ.
    000110     MOVE 0 TO TOTAL.
    000120     ACCEPT ITEM-DESC
    000130     ACCEPT ITEM-COST
    000140     INPUT-ITER.
    000150     IF ITEM-COST = 0 GO TO INPUT-END
    000160     ADD ITEM-COST TO TOTAL
    000170     ACCEPT ITEM-DESC
    000180     ACCEPT ITEM-COST
    000190     GO TO INPUT-ITER.
    000200 INPUT-END.
    000210     MULTIPLY 0.15 BY TOTAL GIVING VAT
    000220     ADD VAT TO TOTAL
    000230     DISPLAY TOTAL
    000000     STOP RUN.
    Edit :
    Je ne sais pas pourquoi tu as mis ton thread à "Résolu", alors qu'il reste des choses à faire
    - compilation
    - test exécution
    - mise au point

    Exemple :
    - pourquoi les instructions ACCEPT aux lignes 120 et 130 ?
    - DISPLAY de messages invitant l'opérateur à la saisie de ce qui va ^$etre l'objet de l'ACCEPT
    - pourquoi pas un PERFORM au lieu de GO TO ?
    - etc...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Restorer une version ou supprimer un programme
    Par Athur dans le forum Windows
    Réponses: 0
    Dernier message: 22/09/2011, 23h05
  2. version release d'un programme développé
    Par toutounesan dans le forum C++Builder
    Réponses: 14
    Dernier message: 21/06/2010, 12h59
  3. Réponses: 4
    Dernier message: 10/09/2008, 23h03
  4. Empecher deux versions d'un meme programme
    Par yakotey dans le forum C++
    Réponses: 5
    Dernier message: 05/07/2005, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo