Ver Mensaje Individual
  #11
Antiguo 9 de febrero de 2022, 09:49
DestinedBroken
Forero Junior
Última Actividad 16.02.2022 11:57
Posts Posts: 28
Likes enviados Enviados: 16
Likes recibidos Recibidos: 4

Hola de nuevo gente,

Marqué la solución de @Josber como solución porque en verdad fue quien hizo que me corriera el código, pero no funciona del todo bien. Es decir, a la hora de mostrar los registros del fichero hay 2 en concreto que no muestra, "se los salta" por así decirlo.

Adjunto el fichero "empleados_escritura.dat" que estoy usando:

Código:
1     jorge                    perez gonzalez                     25 225019357calle prueba 2
02    jorge_javier             vazquez                            59 650298033estudios tele5
03    maria del carmen         gomez del castillo                 33 205369550avenidas de las rosas 34, 40 dcha
04    alvaro                   narvaez sikkenga                   24 663059842urb. parque giralda
05    eva maria                gomez gomez		          56 556200498parque amatista
06    pepito                   grillo                             100666      en tu cabeza
07    sdasd                    afsasdfdf                          55 564684318sdaasdasd
08    antonio                  gomez jurado                       29 569023558calle de los milagros 45
09    rodrigo                  guzman del campo                   36 46582238 calle de ejemplo
10    Gerardo                  lopez alvarez                      64 954025933calle de los descubrimientos 123
11    jorge                    moreno diaz                        55 239651022avenida de las marquesinas, 45
12    ismael                   del campo gordillo                 45 665239125glorieta del carmen sin perdon
14    alfonso                  parra gomez                        56 569022146avenida de las infantas
55    antonella                de la cruz jimenez                 25 690258167calle de las parras marchitas 38 4a
56    juanito                  villaparra de los montes           56 690453002avenidas de las pi¤as 45a izq
57    jorge                    montado gutierrez                  37 620453228camino de las hesperides 3
Y como he dejado el código del programa tras algunos retoques. Ok, sé que faltan puntos y end-XXX pero no estoy seguro de donde ponerlos sin que se me ponga todo en rojo:

Código COBOL:
  1.        program-id. BB_DD_2 as "lectura de la BB_DD_".
  2.  
  3.        environment division.
  4.        configuration section.
  5.        input-output section.
  6.        file-control.
  7.        select optional empleados-archivo
  8.            assign to "f:\empleados_escritura.dat"
  9.            organization is line sequential.
  10.  
  11.        data division.
  12.        file section.
  13.        fd empleados-archivo.
  14.        01 empleados-registro.
  15.          05 empleados-id pic x(6).
  16.          05 empleados-nombre pic x(25).
  17.          05 empleados-apellidos pic x(35).
  18.          05 empleados-edad pic x(3).
  19.          05 empleados-telefono pic x(9).
  20.          05 empleados-direccion pic x(35).
  21.  
  22.        working-storage section.
  23.  
  24.        01 FIN-DEL-ARCHIVO PIC X value "1".
  25.        01 MAXIMO-REGISTROS PIC 99 value zeroes.
  26.        01 siguiente PIC X.
  27.  
  28.        procedure division.
  29.        empieza-programa.
  30.            move zeroes to MAXIMO-REGISTROS
  31.            open input empleados-archivo
  32.            perform lee-siguiente-registro
  33.            perform muestra-campos
  34.            perform lee-siguiente-registro
  35.              until fin-del-archivo = "0"
  36.            close empleados-archivo
  37.            stop run
  38.            .
  39.  
  40.        muestra-campos.
  41.            if MAXIMO-REGISTROS = 5
  42.                perform siguiente-pagina
  43.            end-if
  44.            display "ID:" empleados-id
  45.            display "Nombre:" empleados-nombre
  46.            display "Apellidos:" empleados-apellidos
  47.            display "Edad:" empleados-edad
  48.            display "Telefono:" empleados-telefono
  49.            display "Direccion:" empleados-direccion
  50.            
  51.            ADD 1 TO MAXIMO-REGISTROS
  52.            .
  53.  
  54.        lee-siguiente-registro.
  55.            read empleados-archivo next record
  56.                at end
  57.                    move "0" to FIN-DEL-ARCHIVO
  58.                    display "*****FIN DEL FICHERO******"
  59.                not at end
  60.                   perform muestra-campos
  61.            end-read
  62.            .
  63.        siguiente-pagina.
  64.            display
  65.              "Presiona ENTER para ver la siguiente pagina..."
  66.            accept siguiente
  67.            move zeroes to MAXIMO-REGISTROS
  68.  
  69.        end program BB_DD_2.
DestinedBroken is offline   Responder Con Cita