[Cobol ] sortir d'une procedure + continuation (nouveau)

sortir d'une procedure + continuation (nouveau) [Cobol ] - Divers - Programmation

Marsh Posté le 08-07-2003 à 00:32:09    

voila tout est dans le titre ...
  un peu comme return ou exit sub en C ou en VB
dans l'aide jai trouve exit mais ca sort carrement du prog et c  
pas ca que je veux  :D
 
 
 sinon ya personne qui a deja utilse le - pour continuer une instruction qui ce place en col 7 comme les commentaires
 
 
 

Code :
  1. * commentaire
  2.     77  str    pic x(20) value is "ceci est bien
  3.   -   trop long".


Message édité par red faction le 08-07-2003 à 22:16:45
Reply

Marsh Posté le 08-07-2003 à 00:32:09   

Reply

Marsh Posté le 08-07-2003 à 01:23:02    

yaurait pas des goto en cobol :D


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 08-07-2003 à 08:27:11    

red faction a écrit :

voila tout est dans le titre ...
  un peu comme return ou exit sub en C ou en VB
dans l'aide jai trouve exit mais ca sort carrement du prog et c  
pas ca que je veux  :D  


perform n times, perform until,... ca t'arrange pas ca :??:  
 
T'as un exam en Cobol?

Reply

Marsh Posté le 08-07-2003 à 10:37:38    

En Cobol le code proprement dit est organisé en sections et paragraphes qui se trouvent obligatoirement dans la 'procedure division' ( il y a 3 autres division mais elles sont déclaratives).  
 
Une section est un ensemble de paragraphes et un paragraphe contient du code.
 


PROCEDURE DIVISION.  
MAIN SECTION.  
0-MAIN.  
    PERFORM 1-INIT.  
    PERFORM 1-MAIN UNTIL END-OF-PROGRAM.
    PERFORM 1-END.
    STOP RUN.  
 
1-INIT.
    ... code qui initialise ton progr ...
 
1-MAIN.  
    ... traitement ad hoc ...
 
1-END.
    ... code qui fait le ménage après le traitement ...


 
Lorsque tu utilise PERFORM tu mets soit un nom de section, soit un nom de paragraph. Avec un nom de section tous les paragraphes dans la section seront exécutés, avec un nom de paragraphe uniquement le... paragraphe!  
 
Pas besoin de mettre un goto à la fin du paragraphe, tu revient automatiquement à l'instruction suivant ton PERFORM quand le paragraph est fini!  
 
A+


---------------
A thing of beauty is a joy forever (John Keats)
Reply

Marsh Posté le 08-07-2003 à 11:05:35    

Avander a écrit :

En Cobol le code proprement dit est organisé en sections et paragraphes qui se trouvent obligatoirement dans la 'procedure division' ( il y a 3 autres division mais elles sont déclaratives).  
 
Une section est un ensemble de paragraphes et un paragraphe contient du code.
 


PROCEDURE DIVISION.  
MAIN SECTION.  
0-MAIN.  
    PERFORM 1-INIT.  
    PERFORM 1-MAIN UNTIL END-OF-PROGRAM.
    PERFORM 1-END.
    STOP RUN.  
 
1-INIT.
    ... code qui initialise ton progr ...
 
1-MAIN.  
    ... traitement ad hoc ...
 
1-END.
    ... code qui fait le ménage après le traitement ...


 
Lorsque tu utilise PERFORM tu mets soit un nom de section, soit un nom de paragraph. Avec un nom de section tous les paragraphes dans la section seront exécutés, avec un nom de paragraphe uniquement le... paragraphe!  
 
Pas besoin de mettre un goto à la fin du paragraphe, tu revient automatiquement à l'instruction suivant ton PERFORM quand le paragraph est fini!  
 
A+


ca j'espere qu'il le savait!
a mon avis il voulait plutot quitter en plein milieu du perform (comme un break dans une boucle en C++)

Reply

Marsh Posté le 08-07-2003 à 17:27:56    

polo021 a écrit :


ca j'espere qu'il le savait!
a mon avis il voulait plutot quitter en plein milieu du perform (comme un break dans une boucle en C++)


 
ouais voila exactement, en fait je teste la presence d'un fichier dans une de mes procedures et ci le fichier nexiste pas, jaimerai sortir de cette procedure et revenir au menu, au lieu faire un stop run et de tout arreter.
 
 

Code :
  1. procedure division.
  2. evaluate choix
  3.     perform choix1.
  4.     perform choix2.
  5.     ....
  6. choix1.
  7.    open...
  8.    read...
  9.    if fich-status = 30 then
  10.       display "erreur ...."
  11.       stop run  //a remplace par la fct qui me fera  sortir de la procedure
  12.    end-if.
  13.    //traitement sur le fichier


 
ouais j'ai exam en cobol fait ¨*%ùù$# mais bon ca va aller c encore simple jme demande comment j'ai pu rater ca (de pas grand chose nempeche)  [:yamusha]


Message édité par red faction le 08-07-2003 à 17:28:14
Reply

Marsh Posté le 08-07-2003 à 17:29:49    


une solution serait de mettre une variable booleene a vrai ou faux selon quon ait trouve le fichier ou pas puis de faire un test mais bon c'est pas tres clean

Reply

Marsh Posté le 08-07-2003 à 19:47:36    

manque de pot j'ai toujours fait des stop run
 
mais tu peux toujours faire un truc avec un perform


Message édité par polo021 le 08-07-2003 à 19:51:10
Reply

Marsh Posté le 08-07-2003 à 22:08:04    

[:yoyoz]


Message édité par red faction le 08-07-2003 à 22:16:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed