Bonjour,
aujourd'hui, je viens avec un autre problème j'ai pu avancer un petit peu avec cobol. maintenant j'essaye de me familiariser un petit peu avec les fichiers comment mettre le résultat d'un programme dans un fichier en sortie ... comment utiliser un fichier en entrée ... j'ai pu créer un programme qui ne fait que recopier les enregistrements dans un fichier en entrée nommée "FICHIER-ENTREE" et les mettre dans un fichier en sortie appelé "FICHIER-SORTIE"
le problème c'est qu'il copie les enregistrements correctement sauf le dernier il le copie 2 fois.
le programme est le suivant :
le FICHIER-ENTREE est :
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
90
91
92
93
94
95
96 IDENTIFICATION DIVISION. PROGRAM-ID. EXEMPLE. AUTHOR. Fatima-Ezzahra. DATE-WRITTEN. 22/06/2010. DATE-COMPILED. 22/06/2010. ** * ****************************************************************** ** Ce programme Sert à Recopier les enregistrements * ** de FICHIER-ENTREE à FICHIER-SORTIE * ****************************************************************** ** * ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT FICHIER-ENTREE ASSIGN to "D:\FICHIER-ENTREE.dat" FILE STATUS IS WW-STATUT. SELECT FICHIER-SORTIE ASSIGN to "D:\FICHIER-SORTIE.dat" FILE STATUS IS WW-STATUT. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. DATA DIVISION. FILE SECTION. FD FICHIER-ENTREE RECORDING MODE IS F RECORD CONTAINS 7 CHARACTERS LABEL RECORD IS OMITTED BLOCK CONTAINS 0 RECORDS DATA RECORD IS E-FICHIER. 01 E-FICHIER pic X(7). FD FICHIER-SORTIE RECORDING MODE IS F RECORD CONTAINS 7 CHARACTERS LABEL RECORD IS OMITTED BLOCK CONTAINS 0 RECORDS DATA RECORD IS S-FICHIER. 01 S-FICHIER pic X(7). WORKING-STORAGE SECTION. 01 I PIC 9 value 0. 01 WW-STATUT PIC XX value 'xx'. PROCEDURE DIVISION. DEB-PROG SECTION. perform ouverture-fichiers thru FIN-ouverture-fichiers. perform copie thru fin-copie. perform fermeture-fichiers thru FIN-fermeture-fichiers. FIN-PROG. STOP RUN. ouverture-fichiers. open input FICHIER-ENTREE. open output FICHIER-SORTIE. FIN-ouverture-fichiers. EXIT. copie. perform until I = 1 * display E-fichier perform lecture-fichier thru fin-lecture-fichier write S-FICHIER from E-Fichier end-perform. fin-copie. exit. lecture-fichier. READ FICHIER-ENTREE INTO E-fichier AT END MOVE 1 TO I END-READ. FIN-lecture-fichier. exit. fermeture-fichiers. close FICHIER-SORTIE. close FICHIER-ENTREE. FIN-fermeture-fichiers. EXIT.
Le FICHIER-SORTIE est :A,noire
B,blanc
C,blanc
D,noire
E,rouge
F,rouge
G,blanc
H,noire
I,rouge
J,noire
K,rouge
L,blanc
M,rouge
N,noire
O,jaune
P,rouge
q,blanc
R,jaune
S,noire
T,jaune
U,blanc
V,rouge
W,blanc
X,blanc
Y,noire
Z,jaune
A,noire
B,blanc
C,blanc
D,noire
E,rouge
F,rouge
G,blanc
H,noire
I,rouge
J,noire
K,rouge
L,blanc
M,rouge
N,noire
O,jaune
P,rouge
q,blanc
R,jaune
S,noire
T,jaune
U,blanc
V,rouge
W,blanc
X,blanc
Y,noire
Z,jauneZ,jauneZ,jaun
et merci d'avance pour votre aide
Partager