Boa tarde. Fiz o seguinte programa COBOL, com auxilio das informações da aula do título 3 (Controlando fluxos e condições lógicas), item 2 (tomando decisões com IF):
IDENTIFICATION DIVISION.
PROGRAM-ID. CLIENTES.
* PROGRAMA RECEBENDO E CALCULANDO DADOS
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
DATA DIVISION.
* NADA NA DATA DIVISION PARA ESTE PROGRAMA
WORKING-STORAGE SECTION.
01 WRK-NOME PICTURE X(20) VALUE SPACES.
01 WRK-SALDO PICTURE 9(05) COMP VALUE ZEROS.
01 WRK-SALDO-ED PICTURE Z.ZZZ.ZZZ9,99.
* WRK-SALDO-ED usa mascara para mostrar os valores
PROCEDURE DIVISION.
DISPLAY "DIGITE O SEU NOME "
ACCEPT WRK-NOME.
DISPLAY "OLA " WRK-NOME
DISPLAY "DIGITE SEU SALDO"
ACCEPT WRK-SALDO.
IF WRK-SALDO GREATER THAN OR EQUAL TO 1000
DISPLAY "NOSSA," WRK-NOME "VC TEM GRANA PACAS HEIN!"
* DISPLAY WRK-NOME.
COMPUTE WRK-SALDO = WRK-SALDO * 1,10.
MOVE WRK-SALDO TO WRK-SALDO-ED.
DISPLAY "SALDO APOS APLICACAO DE UMA TAXA DE 10% "
DISPLAY "SALDO " WRK-SALDO-ED.
STOP RUN.
Contudo, ao executa-lo pegando como valor 50000, o resultado final é esse:
PS C:\CURSO_COBOL> .\CLIENTES.exe
DIGITE O SEU NOME
JOTAPE
OLA JOTAPE
DIGITE SEU SALDO
50000
NOSSA,JOTAPE VC TEM GRANA PACAS HEIN!
SALDO APOS APLICACAO DE UMA TAXA DE 10%
SALDO 5.5000,00 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Aqui não deveria aparecer 55.000,00?
Acredito que tem a ver com a máscara utilizada.
Contudo, se for isso mesmo, que máscara devo usar para corrigir a saida?
Fico no aguardo.
Obrigado!