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 :

Editer fichier texte Cobol


Sujet :

Cobol

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Août 2011
    Messages : 103
    Points : 49
    Points
    49
    Par défaut Editer fichier texte Cobol
    Bonjour, voila je dois réaliser un tp enCobol qui consiste à gérer une agence de locations. Après avoir éffectué les différents module de supression de modif et d'ajout.
    Je possède un fichier location avec le montant et un champ réglé 0/1.
    Je dois réaliser un fichier texte qui parcourt le fichier Location (jusque là pas de pb) donc le montant n'as pas été réglé par le client.


    Voici se que je dois obtenir pour chaque location non réglé.

    Agence TempsLibre
    9 Avenue du Général de Gaulle
    Nancy
    Facture

    Nom client Prenom client
    Adresse client

    Nous vous remercions d’avoir effectué une réservation auprès de notre agence pour l’appartement situé au : … adresse… pour X personnes du datedebut pour une durée de x semaines.
    Montant à régler : montant

    Fait à Nancy le [date du jour].

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
           program-id. facturation.
    
           file-control.
          *    fichier location
               select f-location assign 'location.dat'
               organization indexed access dynamic
               record key cle = NumClil,NumAppl
               alternate key NumClil duplicates
               alternate key NumAppl duplicates.
          *    fichier client
               select f-client assign 'client.dat'
               organization indexed access dynamic
               record key NumCli.
          *    fichier appart
               select f-appart assign to 'appart.dat' organization indexed
               access dynamic record key NumApparta
               alternate record key NumPropa duplicates.
    
               select f-facturation assign 'facturation.dat'
               organization line sequential.
    
           fd f-location.
                  1 Location.
                      2 NumClil pic 999.
                      2 NumAppl pic 999.
                      2 DateDebl pic 9(8).
                      2 Dureel pic 9.
                      2 NbPersl pic 9.
                      2 Montantl pic 9(5).
                      2 reglel pic 9.
    
           fd f-client.
           1 Client.
               2 NumCli pic 999.
               2 NomCli pic x(20).
               2 PrenomCli pic x(20).
               2 AdresseCli pic x(50).
               2 VilleCli pic x(20).
               2 TelCli pic 9(10).
    
           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).
    
           fd f-facturation.
                1 Facturation.
                    2 nomc pic x(20).
                    2 prenomc pic x(20).
    
           working-storage section.
           1 finloca pic 9 value 0.
    
    
           procedure division.
               open input f-location
               open input f-client
               open input f-appart
               open output f-facturation
               read f-location next
                   end set finloca to 1 end-read
               perform until finloca = 1
                   if reglel = 0 then
                      move NumClil to NumCli
                      read f-client
                       move NomCli to nomc
                       move PrenomCli to prenomc
    
                      write Facturation
    
                   end-if
                   read f-location next
                       end set finloca to 1 end-read
               end-perform
               close f-location
               close f-client
               close f-appart
               close f-facturation
               goback.
    
           end program facturation.
    Ma question n'est pas comment récupérer les données mais la mise en forme du fichier.

    merci d'avance de votre aide

  2. #2
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 060
    Points
    32 060
    Par défaut
    Je ne comprends pas.

    Tu écris un fichier Facturation. Dont la définition se limite au nom et au prénom. Fatalement, ta sortie se limitera à celà.

    Veux-tu écrire dans ce fichier-là, ou dans un autre?

    Dans tous les cas, si tu veux écrire ta lettre dans un fichier, eh bien, il te faut un format flexible. Il y a plusieurs philosophies.

    (1)le buffer : on met une grande chaine, et on met tout dedans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    01 FACTURATION.
        05 FACT-TEXTE PIC X(100).
            88 FACT-TEXTE-VIDE VALUE ALL SPACES.
    
    (.../...)
    SET FACT-TEXTE-VIDE TO TRUE
    MOVE 'agence temps libre' TO FACT-TEXTE
    WRITE FACTURATION
    SET FACT-TEXTE-VIDE TO TRUE
    MOVE NOM-ET-PRENOM TO FACT-TEXTE
    WRITE FACTURATION
    (.../...)
    Moche et bourrin, mais ça reste lisible.

    (2)La prédéfinition
    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
    01 FACTURATION.
        05 FACT-TEXTE PIC X(100).
    01 FACTURATION-VIDE PIC X(100) VALUE SPACES.
    01 FACTURATION-AGENCE PIC X(100) VALUE 'agence temps libre'.
    01 FACTURATION-VILLE PIC X(100).
    
    (.../...)
    MOVE FACTURATION-VIDE TO FACTURATION
    WRITE FACTURATION
    MOVE FACTURATION-AGENCE  TO FACTURATION
    WRITE FACTURATION
    MOVE 'Nancy' TO FACTURATION-VILLE
    MOVE FACTURATION-VILLE TO FACTURATION
    WRITE FACTURATION
    (.../...)
    Evidemment, là, je mets des choses en dur, mais c'est à toi de les paramétriser, genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    01 FACTURATION-AGENCE.
        05 FILLER PIC X(10) VALUE 'agence de '.
        05 FACTURATION-NOM-AGENCE PIC X(90).
    (.../...)
    MOVE 'Nancy' TO FACTURATION-NOM-AGENCE
    MOVE FACTURATION-AGENCE TO FACTURATION
    WRITE FACTURATION
    Sinon, il y a les redéfinitions, mais dans ton cas, ça me parait casse-croute.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

Discussions similaires

  1. Editer fichier texte.
    Par Ultradoux dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 11/10/2008, 18h33
  2. Edition d'un fichier texte : retirer un ; d'une option
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 12/03/2008, 11h03
  3. Editer une page dans un fichier texte
    Par SINASOFT dans le forum AIX
    Réponses: 6
    Dernier message: 14/01/2008, 11h01
  4. Edition de fichier texte au travers de FTP, SSH, SCP
    Par Eusebius dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 23/07/2007, 13h11
  5. Enregistret le contenu d'un edit dans un fichier text
    Par prison_break dans le forum C++Builder
    Réponses: 19
    Dernier message: 02/01/2007, 13h55

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