Ir ao conteúdo
  • Cadastre-se

Davi_Americo

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. vou tentar implementar este seu código aqui no meu, você acha melhor colocar esse código dentro de uma função de nome busca?
  2. Eu estava pesquisando e descobri que no procedimento de cadastro_vendas, eu tenho que fazer uma busco no vetor produtos se o código que eu digitar é válido, se for ele faz essa subtração na quantidade de produtos no vetor produtos, porém sou iniciante e não sei como usar esse procedimento de busca.
  3. Boa noite, está é minha primeira postagem nos fóruns aqui no Clube do Hardware, caso eu cometa algum erro me perdoem irei corrigir no próximo. Estou com a seguinte dúvida em um trabalho na faculdade, preciso fazer um programa em pascal, usando procedimentos onde eu tenho que cadastrar clientes, com dados de cada cliente, além de clientes tenho que cadastrar produtos com seus respectivos dados. Além destes tenho que cadastrar vendas, onde tenho que atualizar o meu vetor produtos com a baixa da quantidade de produtos realizados na venda, como posso realizar esta baixa de estoque? Irei anexar o meu código até agora, todos os menus estão funcionando normalmente, minha dúvida está apenas no menu de cadastro de vendas e em nota fiscal. Espero alguma retorno. Código fonte: Program Sistemas_de_Vendas;constmax = 100;typeprodutosRegistro = record // Registros de clientes nomeProduto:string; preco: real; quantidade,codigo: integer;end; clientesRegistro = record // Registros de Produtos nomeCliente, cpf, rg, telefone: string;end;var posicaoCliente, posicaoProduto, alternativa, indiceProduto, codigo_procura, quantidade_comprada: integer; clientes:array[1..max] of clientesRegistro; produtos:array[1..max] of produtosRegistro; clienteNovo:char; usuario,senha: string;procedure cadastro_clientes; // Procedimento para cadastro de clientesbegin clrscr; if (posicaoCliente <= max) then begin writeln('**************************************************************'); writeln('********************* CADASTRO PRODUTO ***********************'); writeln; writeln('Nome: '); gotoxy(35,4); writeln('Cpf: '); writeln('RG: '); gotoxy(35,5); writeln('Telefone: '); writeln('**************************************************************'); gotoxy(7,4); readln(clientes[posicaoCliente].nomeCliente); gotoxy(40,4); readln(clientes[posicaoCliente].cpf); gotoxy(5,5); readln(clientes[posicaoCliente].rg); gotoxy(45,5); readln(clientes[posicaoCliente].telefone); posicaoCliente := posicaoCliente + 1; readln; clrscr; gotoxy(20,10); write('Deseja cadastrar um novo cliente?'); gotoxy(24,11); write('1 - Sim ou 2 - Não: '); read(alternativa); if (alternativa = 1) then begin cadastro_clientes; end; clrscr; end else begin writeln('Banco de Dados Cheio'); readln; end; end;procedure cadastro_produtos; // Procedimento para cadastro de produtosbegin clrscr; if (posicaoProduto <= max) then begin writeln('**************************************************************'); writeln('********************* CADASTRO PRODUTO ***********************'); writeln; writeln('Nome Produto: '); gotoxy(35,4); writeln('Código: '); writeln('Preço: '); gotoxy(35,5); writeln('Quantidade: '); writeln('**************************************************************'); gotoxy(15,4); readln(produtos[posicaoProduto].nomeProduto); gotoxy(43,4); readln(produtos[posicaoProduto].codigo); gotoxy(8,5); readln(produtos[posicaoProduto].preco); gotoxy(48,5); readln(produtos[posicaoProduto].quantidade); posicaoProduto := posicaoProduto + 1; readln; clrscr; gotoxy(20,10); write('Deseja cadastrar um novo produto?'); gotoxy(24,11); write('1 - Sim ou 2 - Não: '); read(alternativa); if (alternativa = 1) then begin cadastro_produtos; end; clrscr; end else begin writeln('Estoque Lotado'); readln; end; end;procedure cadastro_vendas; // Procedimento para cadastro de vendas DÚVIDAbegin writeln; writeln('Produtos Disponíveis:'); for indiceProduto:=1 to (posicaoProduto - 1) do begin writeln; writeln('Nome: ',produtos[indiceProduto].nomeProduto); writeln('Código: ',produtos[indiceProduto].codigo); writeln('Quantidade em estoque: ',produtos[indiceProduto].quantidade); writeln; writeln('----------------'); writeln; end; write('Digite o código do produto para venda: '); readln(codigo_procura); write('Quantidade desejada: '); readln(quantidade_comprada); clrscr; end; procedure relatorio_clientes; // Procedimento para relatório de clientesvarindiceCliente: integer;begin clrscr; writeln('*******************************************************************'); writeln('********************* RELATÓRIO DE CLIENTES ***********************'); writeln; for indiceCliente:=1 to (posicaoCliente - 1) do begin writeln('Nome:',clientes[indiceCliente].nomeCliente); writeln('CPF:',clientes[indiceCliente].cpf); writeln('RG:',clientes[indiceCliente].rg); writeln('Telefone:',clientes[indiceCliente].telefone); writeln('-----------------------------------'); writeln; end; readln; end;procedure relatorio_produtos; // Procedimento para relatório de produtosbegin clrscr; writeln('*******************************************************************'); writeln('********************* RELATÓRIO DE PRODUTOS ***********************'); writeln; for indiceProduto:=1 to (posicaoProduto - 1) do begin writeln('Nome Produto: ',produtos[indiceProduto].nomeProduto); writeln('Código: ',produtos[indiceProduto].codigo); writeln('Preço: ',produtos[indiceProduto].preco:2:2); writeln('Quantidade: ',produtos[indiceProduto].quantidade); writeln('-----------------------------------'); writeln; end; readln; end; procedure tela_inicial; //Procedimento do Menu Principal var opcao: integer; begin opcao:=0; while(opcao<>9) do begin writeln(' MENU PRINCIPAL '); writeln(' '); writeln(' '); writeln(' SEJA BEM VINDO ',usuario ); writeln(' '); writeln(' '); writeln(' -----------------------------------'); writeln(' | [1] Cadastrar Clientes |'); writeln(' | [2] Cadastrar Produtos |'); writeln(' | [3] Cadastrar Vendas |'); writeln(' | [4] Relatório de Clientes |'); writeln(' | [5] Relatório de Produtos |'); writeln(' | [6] Emitir Nota Fiscal |'); writeln(' | [9] Encerrar |'); writeln(' ----------------------------------- '); write(' Escolha a opção desejada => '); readln(opcao); clrscr; case opcao of 1: begin cadastro_clientes; end; 2: begin cadastro_produtos; end; 3: begin cadastro_vendas; end; 4: begin relatorio_clientes; end; 5: begin relatorio_produtos; end; 9: writeln('Acabou o Programa'); else writeln('Opção inválida'); opcao:=0; readln; end; end;end;// Programa PrincipalBegin writeln('-----------------------------------------------------------------------------'); writeln('| |'); writeln('| |'); writeln('| |'); writeln('| |'); writeln('| Usuário: |'); writeln('| Senha: |'); writeln('| |'); writeln('| |'); writeln('| |'); writeln('| |'); writeln('| |'); writeln('-----------------------------------------------------------------------------'); gotoxy(42,6); readln(usuario); gotoxy(42,7); readln(senha); clrscr; posicaoCliente := 1; posicaoProduto := 1; tela_inicial; End. Sistema de Vendas.txt

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...