Enviado em 14/02/2024 - 22:47h
Pessoal,WRK-AVERAGEque criei não está sendo reconhecido como um número válido, ou ainda o que exatamente está acontecendo. O código está exatamente conforme o apresentado no vídeo do site Alura, onde estou realizando meu curso, no entanto, não está me retornando os valores esperados dos IFs.
ENVIRONMENT DIVISIONque o separador decimal é a vírgula, mas o professor também não o fez, e o código dele funcionou perfeitamente. Quando removo a formatação com vírgula da variável e a deixo sem, o código funciona corretamente. No entanto, ao tentar utilizar a vírgula como separador decimal, o código não funciona, indo direto para o último IF de reprovação. Por esse motivo, suspeito que o valor retornado pela variável não esteja correto, embora na impressão ele apareça corretamente, com a formatação adequada.
IDENTIFICATION DIVISION.
PROGRAM-ID. PROGCOB07.
*************************************************
* AREA OF COMMENTS - REMARKS
* AUTHOR = JOAO ( BRITO ) JOAOVB
* OBJECTIVE: RECEIVE 02 GRADES, AVERAGE AND PRINT
* USE COMMANDS IF/ELSE/END-IF
* DATA = 14/01/2024
*************************************************
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WRK-GRADE1 PIC 9(02) VALUE ZEROS.
77 WRK-GRADE2 PIC 9(02) VALUE ZEROS.
77 WRK-AVERAGE PIC 9(02)V9 VALUE ZEROS.
PROCEDURE DIVISION.
ACCEPT WRK-GRADE1.
ACCEPT WRK-GRADE2.
COMPUTE WRK-AVERAGE = (WRK-GRADE1 + WRK-GRADE2) / 2.
DISPLAY 'A MEDIA E DE.. 'WRK-AVERAGE.
IF WRK-AVERAGE >= 6
DISPLAY 'VOCE ESTA APROVADO'
ELSE
IF WRK-AVERAGE >= 2
DISPLAY 'VOCE FICOU DE RECUPERACAO'
ELSE
IF WRK-AVERAGE < 2
DISPLAY 'VOCE ESTA REPROVADO'
END-IF
END-IF.
STOP RUN.