0
Hola comunidad, necesito ayuda.
Recibo un error que luce así en consola:
Sin título.png
Mi pregunta es por que sucede esto y como solucionarlo, claramente hay un error que estoy cometiendo pero no puedo verlo , y cada que vez que ejecuto el programa no importa que haga siempre me repite una linea con valor de " " (espacios) en RECAUDACION DE EMPLEADO..., capaz esta relacionado al error que estoy teniendo.
Y el IMPLICIT CLOSE tambien me tiene atascado.
Ojala puedan ayudarme
Codigo:COBOL Código:
IDENTIFICATION DIVISION. PROGRAM-ID. PROG-PAGOS-F. AUTHOR. LUCAS GALEANO. DATE-WRITTEN. 1/2/2023. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT REG-VENDEDORES ASSIGN TO "REG-MAESTRO.DAT" ORGANIZATION IS LINE SEQUENTIAL. SELECT REG-VENTAS ASSIGN TO "REG-VENTAS-MAESTRO.DAT" ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD REG-VENDEDORES. 01 VENDEDORES. 88 FIN-DEL-ARCHIVO VALUE HIGH-VALUE. 05 EMPLEADO PIC 9(2). 05 SUELDO-BASE PIC 9(5). 05 CANTIDAD-VENTAS PIC 9. 05 TOTAL-RECAUDACION PIC 9(5) VALUE ZEROS. FD REG-VENTAS. 01 COBRO-VENTAS. 05 VENDEDOR PIC 9(2) OCCURS 100 TIMES. WORKING-STORAGE SECTION. 01 WS-VENDEDORES. 05 WS-EMPLEADO PIC 9(2). 05 WS-SUELDO-BASE PIC 9(5). 05 WS-CANTIDAD-VENTAS PIC 9. 05 WS-TOTAL-RECAUDACION PIC 9(5). 77 WS-PRECIO-PRODUCTO PIC 9(5). 77 WS-TOTAL-EMPLEADOS PIC 99. 77 WS-CONTADOR PIC 99 VALUE ZEROS. 77 WS-INDICE PIC 99. PROCEDURE DIVISION. GO TO BEGIN-INPUT. BEGIN-OUTPUT. OPEN OUTPUT REG-VENDEDORES. OPEN OUTPUT REG-VENTAS. DISPLAY "INGRESE DATOS SOLICITADOS". DISPLAY " ". DISPLAY "INGRESE TOTAL DE EMPLEADOS DE LA COMPANIA". ACCEPT WS-TOTAL-EMPLEADOS. PERFORM VARYING WS-CONTADOR FROM 01 BY 1 UNTIL WS-CONTADOR > WS-TOTAL-EMPLEADOS PERFORM INGRESO-DATOS WRITE VENDEDORES FROM WS-VENDEDORES WRITE COBRO-VENTAS END-WRITE MOVE ZEROS TO WS-TOTAL-RECAUDACION END-PERFORM. DISPLAY COBRO-VENTAS DISPLAY VENDEDORES CLOSE REG-VENDEDORES. CLOSE REG-VENTAS. BEGIN-INPUT. OPEN INPUT REG-VENDEDORES. OPEN INPUT REG-VENTAS. READ REG-VENDEDORES AT END SET FIN-DEL-ARCHIVO TO TRUE END-READ PERFORM VARYING WS-INDICE FROM 01 BY 1 UNTIL VENDEDOR(WS-INDICE) > EMPLEADO DISPLAY "RECAUDACION DE LA SEMANA DE EMPLEADO ",EMPLEADO "ES: ",TOTAL-RECAUDACION READ REG-VENDEDORES AT END SET FIN-DEL-ARCHIVO TO TRUE END-READ END-PERFORM. CLOSE REG-VENDEDORES REG-VENTAS. STOP RUN. INGRESO-DATOS. DISPLAY "INGRESE NUMERO DE EMPLEADO:". ACCEPT WS-EMPLEADO. DISPLAY "INGRESE SUELDO BASE:". ACCEPT WS-SUELDO-BASE. DISPLAY "INGRESE CANTIDAD DE VENTAS REALIZADAS:". ACCEPT WS-CANTIDAD-VENTAS. INITIALIZE COBRO-VENTAS PERFORM VARYING WS-INDICE FROM 01 BY 1 UNTIL WS-INDICE > WS-CANTIDAD-VENTAS DISPLAY "PRECIO DEL PRODUCTO:" ACCEPT WS-PRECIO-PRODUCTO ADD WS-PRECIO-PRODUCTO TO WS-TOTAL-RECAUDACION END-PERFORM. MOVE WS-EMPLEADO TO VENDEDOR(WS-INDICE). *Una compañía de seguros tiene contratados a n vendedores. Cada vendedor realiza *múltiples ventas a la semana. La política de pagos de la compañía es que cada vendedor *recibe un sueldo base más un 10% extra por comisiones de sus ventas. El gerente de la *compañía desea saber, por un lado, cuánto dinero deberá pagar en la semana a cada *vendedor por concepto de comisiones de las ventas realizadas, y por otro lado, cuánto *deberá pagar a cada vendedor como sueldo total (sueldo base + comisiones). Para cada *vendedor ingresar cuanto es su sueldo base, cuantas ventas realizó y cuanto cobró por *cada venta.
Marcadores