Ver Mensaje Individual
  #1
Antiguo 3 de noviembre de 2021, 12:56
DestinedBroken
Forero Junior
Última Actividad 16.02.2022 11:57
Posts Posts: 28
Likes enviados Enviados: 16
Likes recibidos Recibidos: 4
Predeterminado No se muestra lo que pone el código.
0 Inactivo Inactivo

Hola gente,

Tengo el siguiente código con el que uno se da cuenta que si el usuario introduce por consola "S" o "s" el programa debe devolver una frase por consola. Sin embargo, a mí siempre me termina el programa, meta lo que meta (S, n, números, etc).

¿Qué es lo que está fallando?

Código COBOL:
  1.  IDENTIFICATION DIVISION.
  2.        PROGRAM-ID. CAPITULO11.
  3.      *GO TO salta a donde se le manda, y continua hasta el final
  4.      *PERFORM luego de hacer lo que sea, vuelve a donde estaba
  5.        DATA DIVISION.
  6.  
  7.        WORKING-STORAGE SECTION.
  8.        01 RES pic x.
  9.        PROCEDURE DIVISION.
  10.  
  11.        PREGUNTA.
  12.  
  13.            PERFORM CONTINUACION
  14.            .
  15.  
  16.            IF RES = "N" OR RES = "n"
  17.                GO TO FINALIZA-PROGRAMA
  18.            IF RES = "S" OR RES = "s"
  19.                perform PROGRAMA
  20.            ELSE
  21.                DISPLAY " Introduce una 'N' o 'S'"
  22.            .
  23.  
  24.        FINALIZA-PROGRAMA.
  25.            STOP RUN
  26.            .
  27.  
  28.        CONTINUACION.
  29.            DISPLAY "Ejecutar el programa (S/N)?"
  30.            .
  31.            ACCEPT res
  32.            .
  33.        PROGRAMA.
  34.            DISPLAY "Se ejecuta el programa"
  35.            .
  36.        END PROGRAM CAPITULO11.

He intentado poner todo en mayúsculas, por tonterías que uno prueba vaya, y ni aún así. Igualmente, cambié el perform de PROGRAMA dentro de las cláusulas if-else por un go to pero nada de nada.
DestinedBroken is offline   Responder Con Cita