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 DIVISION
que 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.
Enviado em 15/02/2024 - 19:27h
Faz um tempão que não vejo Cobol, mas vamos lá, posso somente te dar uma luz, uma sugestão.Enviado em 19/02/2024 - 10:10h
Cara, ainda não tive tempo para testar esse código novo, Tive um epsiódio de Bornout no meu emprego, me afastaram de tudo que foi tela e tudo que tem muito estímulo, mas hoje já voltei as atividades e pretendo, até o final do dia se possível, testar e fazer os ajustes, agradeço muito a dica chefão !! volto aqui pra dizer se deu tudo certo.Enviado em 20/02/2024 - 21:56h
Opa, voltei com uma solução para o problema que estava enfrentando.WRK-MEDIA-MASKpara formatar o valor recebido em
WRK-MEDIAantes de exibi-lo no console. Embora o valor estivesse sendo calculado corretamente e passando pelos condicionais sem problemas, enfrentei dificuldades ao tentar definir a formatação diretamente na variável
WRK-MEDIA( por que ainda que definida como
PIC 9(02)V9, ela somente recebia o valor correto com o decimal, mas ao apresentar este valor no
Display, ele ficava com um zero à esquerda, e o que era pra ser decimal era apresentado como inteiro).
WRK-MEDIAcomo
PIC 9(02)V9para armazenar o valor decimal da média e criei
WRK-MEDIA-MASKcomo
PIC Z9.9para apresentá-lo de forma formatada no terminal.
WRK-MEDIAé utilizada na lógica dos condicionais, enquanto
WRK-MEDIA-MASKé exibida no terminal.
Enviado em 11/03/2024 - 15:21h
Entendo sua dificuldade. No COBOL, o separador decimal padrão é o ponto, e não a vírgula. Se você está tentando usar a vírgula como separador decimal, pode estar enfrentando problemas devido a essa diferença de formatação.ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. COMPUTER-NAME. OBJECT-COMPUTER. COMPUTER-NAME. SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Adapador Wi-Fi para de funcionar depois de alguns minutos no Ubuntu (1)
Compartilhando uma ideia sobre computação quantica (9)
Preciso atribuir um terceiro IP em uma placa de rede eth0. (7)