Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
krausermb

Outro Alterações em programa Cobol

Recommended Posts

boa tarde, tenho esse trabalho que é para desenvolver um programa que faça a alteração na tabela gerada pelo programa de inclusão.
o programa esta anexado abaixo, tenho q fazer uma tabela que usa a função alterar:


     

citação

 

identification division.
       program-id.    produto.

       environment division.
       special-names.        decimal-point is comma.
       input-output section.
       file-control.
              select produtos assign to disk
              organization sequential
              access mode sequential
              file status arqst.
      
       data division.
       file section.
       fd produtos label record standard
                data record is reg-prod
                value of file-id is "produtos.dat".
          01 reg-prod.
                02 codigo         pic 9(04).
                02 nome           pic x(30).
                02 qtdade         pic 9(04).
                02 unitario       pic 9(05)v99.
                02 total          pic 9(06)v99.

       working-storage section.
          01 reg-prod-e.
                02 codigo-e       pic z.zz9.
                02 nome-e         pic x(30).
                02 qtdade-e       pic z.zz9.
                02 unitario-e     pic zz.zz9,99.
                02 total-e        pic zzz.zz9,99.
          01 reg-prod-w
                02 codigo-w         pic 9(04).
                02 nome-w           pic x(30).
                02 qtdade-w         pic 9(04).
                02 unitario-w       pic 9(05)v99.
                02 total-w          pic 9(06)v99.
          01 data-sis.
                02 ano            pic 9(04).
                02 mes            pic 9(02).
                02 dia            pic 9(02).

         01 arqst                   pic x(02).
         01 ws-opcao                pic x(01) value spaces.
         01 ws-salva                pic x(01) value spaces.
         01 ws-espaco               pic x(30) value spaces.
         01 ws-mens1                pic x(20) value "fim de programa".
         01 ws-fl                   pic 9(01) value zeros.

       screen section.
         01 tela.
              02 line 2  col 5  value "  /  /  ".
              02 col 29  value "controle de mercadorias".
              02 line 4  col 19 value "codigo do produto:".
              02 line 6  col 19 value "nome do produto:".
              02 line 8  col 19 value "quantidade:".
              02 line 10 col 19 value "custo unitario:".
              02 line 12 col 19 value "custo total:".
              02 line 15 col 25 value "mensagem:".
 
       procedure division.
       inicio.
              perform abre-arq.
              perform processo until ws-opcao = "n".
              perform finaliza.

       abre-arq.
              open i-o produtos.
              if arqst not = "00"
                     close produtos
                     open output produtos.

       processo.
              perform imp-tela.
              perform entra-dados.
              perform calculo-total.
              perform gravar  until ws-salva = "s" or "n".
              if ws-salva = "s"
                 perform grava-reg
              else
                 display "registro nao gravado" at 2030.
              perform continua  until ws-opcao = "s" or "n".

       imp-tela.
              display erase at 0101.
              display tela.
              move function current-date to data-sis.
              display dia   at 0205.
              display mes   at 0208.
              display ano   at 0211.
      * ----------------------------- inicialização das variáveis
              move space  to     ws-opcao 
                ws-salva
                          nome-e.
              move zeros  to     codigo-e 
                qtdade-e
                unitario-e 
                                total-e
                                ws-fl.
              display ws-espaco at 1535.

       entra-dados.
              perform entra-codigo until ws-fl = 1.
              accept nome-e     at 0636 with prompt auto.
              accept qtdade-e   at 0831 with prompt auto.
              accept unitario-e at 1035 with prompt auto.
              move   codigo-e   to codigo-w.
              move   nome-e     to nome-w.
              move   qtdade-e   to qtdade-w.
              move   unitario-e to unitario-w.

       entra-codigo.
              accept codigo-e   at 0438 with prompt auto.
              move   codigo-e   to codigo-w.
              if codigo-w = 9999
                 display ws-mens1 at 1535
                 close produtos
                 stop run.
              close produtos.
              perform abre-arq.
              move zeros to ws-fl.
              perform ler-registro until ws-fl >= 1.
              if ws-fl = 2
                 display "registo ja cadstrado" at 2030.

       ler-registro.
              read produtos next at end move 1 to ws-fl.
              if arqst = "00"
                 if codigo-w = codigo
                    move 2 to ws-fl.

       calculo-total.
              compute total-w = qtdade-w * unitario-w.
              move    total-w to total-e.
              display total-e at 1232.

       gravar.
              display "salvar (s/n)? [ ]" at 1430.
              accept ws-salva at 1445 with prompt auto.

       grava-reg.
              close produtos.
              open extend produtos.
              move reg-prod-w to reg-prod.
              write reg-prod.
              if arqst not = "00"
                   display "erro de grava€ço" at 1535
                   stop " ".
              close produtos.
              perform abre-arq.

       continua.
              display "continua (s/n)? [ ]" at 1430.
              accept ws-opcao at 1447 with prompt auto.
              if ws-opcao = "s" or = "n"
                     display ws-espaco at 1430
                     display ws-espaco at 1535
              else
                     display ws-espaco at 1535
                     display "digite s ou n" at 1535.

       finaliza.
              display ws-mens1 at 1535.
              close produtos.    
              stop run.

 

 

prodinc2.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×