Ir ao conteúdo

Posts recomendados

Postado

crie um registro com código, nome do produto, valor do produto, quantidade do produto e status do produto (A-tivo/I-nativo) dos produtos de uma padaria. Faça com que as informações sejam gravadas em um arquivo de dados. Permita as seguintes operações: Inclusão de novos produtos, Alteração dos dados do produto (menos o código) e Listar os dados dos produtos (relatório dos produtos existentes). Monte um menu com a estrutura CASE para cada umas dessas instruções.

1 - Incluir Produto
2 - Alterar Produto
3 - Relatório dos Produtos
4 - Sobre o Autor e o Programa
5 - Sair

Fazer as validações necessárias, segue alguns exemplos:

a. Código ou valor de produto negativo
b. quantidade de produto negativa
c. Status diferente de A/I ou ativo/inativo
d. Outras...

Postado

@Math.Pi  como eu faço para que as informações sejam gravadas em um arquivo de dados. Permita as seguintes operações: Inclusão de novos produtos, Alteração dos dados do produto (menos o código) e Listar os dados dos produtos (relatório dos produtos existentes).

Postado

 

@Math.Pi.

 

Código:

Program Pzim ;
var fil : array[1..1] of record   
    cod : integer;
    nome,status : string;
    genero : char;
    valor , quant: real;
  end;
  i : integer;  
Begin
    for i:= 1 to 1 do 
    begin 
      write (' escreva o codigo do produto: ');
      read (fil[i].cod);
      write (' escreva a quntidade do produto: ');
      read (fil[i].quant);
      write (' escreva seu nome do produto: ');
      read (fil[i].nome);
      write (' escreva o valor do produto: ');
      read (fil[i].valor);
      write (' escreva sua status do produto: ');
      read (fil[i].status);
    end;
      writeln;
       for i:= 1 to 1 do 
    begin 
      writeln ('codigo: ',fil[i].cod);
      writeln ('nome: ',  fil[i].nome);
      writeln ('valor : ', fil[i].valor);
      writeln ('quant: ',fil[i].quant);
      writeln ('status: ',fil[i].status);
    end;
    readln;
End.

 

Foi o que consegui fazer.

  • Membro VIP
Postado

@Math.Pi, sobre:

 

2 horas atrás, Math.Pi disse:

Você começou armazenando as variáveis em um arquivo que não existe. Primeiro você tem que criar (ou abrir) o arquivo, para depois poder manipulá-lo.

 

Nesse código ainda não tem arquivos. Ele está apenas utilizando um "vetor de registros" (array of record). O código inclusive está "funcionando":

 

image.png

 

 

 

@Waterise, algumas dicas:

 

1#

Não user read(), utilize apenas readln(). Não precisa, por enquanto, se preocupar com o motivo... apenas não deve-se usar read() (sem o ln). Apenas te adianto que esse ln tem tem algo a ver com o ln do writeln, como muitos pensam ;).

 

 

2#

Use nomenclaturas de variáveis mais sugestíveis possível. Algo como:

 

var
  produtos: array [1..5] of record   
                              codigo: integer;
                              nome: string;
                              status: char;
                              genero: char;
                              valor: real
                              quantidade: integer;
                            end;

 

Perceba o "produtos" no plural... para justamente indicar que é um vetor. 

 

Poderia ser também:

var
  vetProduto: array [1..5] of record   
                                codigo: integer;
                                nome: string;
                                status: char;
                                genero: char;
                                valor: real
                                quantidade: integer;
                              end;

 

Ou vetProdutos... Por aí vai.

 

Quanto "mais semântico" o nome das coisas, mais fácil entender para que ele serve... por exemplo, o que significa fil?

 

 

3#

Não se preocupe com a implementação de arquivos por enquanto. É preferível trabalhar com vetores... Para usar arquivos, "bastará" ajudar de vetor (array) para arquivos (file of ou text).

 

Sugiro focar no menu. Você precisa ir do básico para o mais avançado. Colocar arquivo só vai atrapalhar.

 

Segue uma base...

//Crie um registro com código, nome do produto, valor do produto, quantidade
//do produto e status do produto (A-tivo/I-nativo) dos produtos de uma padaria.
//Faça com que as informações sejam gravadas em um arquivo de dados. Permita as
//seguintes operações:
//* Inclusão de novos produtos,
//* Alteração dos dados do produto (menos o código)
//* Listar os dados dos produtos (relatório dos produtos existentes).
// Monte um menu com a estrutura CASE para cada umas dessas instruções.

{$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores
program Pzim;
var
  vetProdutos: array [1..5] of record   
                                 codigo: integer;
                                 nome: string;
                                 status: char;
                                 genero: char;
                                 valor: real;
                                 quantidade: integer;
                               end;
  total: integer; //total de cadastros
  opcao: char;
  i:integer;
begin
  writeln('    *** MENU DE OPÇÕES ***     ');
  writeln('');
  writeln(' Inclusão de novos produtos    ');
  writeln(' Alteração dos dados do produto');
  writeln(' Listar os dados dos produtos  ');
  writeln('');
  readln(opcao);
  

  
  
  
  
  


end.

 

Pode utilizar esse código como base... fique a vontade para alterar os texto e nomenclaturas... Daí, crie um MENU... se nunca fez, pesquisa aqui no Fórum e/ou na internet. Vai precisar deixar dentro de um laço de repetição, como while ou repeat. Faça apenas o item 1. Daí já faça também o 3, pois ele vai ajudar a ver se o 1 está funcionando...

 

Qualquer dúvida é só postar.

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!