Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fiaes

questão de vetor e matriz"

Recommended Posts

Pessoal estou com dificuldade de desenvolver uma questão em linguagem Pascal e nem sei por onde começar!!

a questão eh: desenvolver um programa que terá que realizar um cadastro para sistema de supermercado. Este cadastro vai envolver coletar dados (variáveis) que farão parte da entrada de dados do sistema. Os dados serão armazenados num vetor ou em uma matriz para cada campo. As rotinas obrigatórias do sistema são:

1 – Cadastrar (produtos a venda no supermercado)

2 – Alterar (produtos no sistema)

3 – Realizar venda (retirar a quantidade vendida do estoque do produto)

4 – pesquisar (informação sobre um determinado produto)

5 – Listar todos os produtos na tela

6 – sair

 

estou com muita d dificuldade de desenvolver essa questão...se alguem puder me ajudar desda ja agradeço muitp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um menuzinho com essas opcoes ai enquanto o cara nao digitar uma dessas opcoes ai ele não sai do menu, dai você testa qual opcao ele escolheu usando um switch case, caso seja a opcao 1 você simplesmente cadastro o produto e joga num vetor de produtos e por ai vai... Só não te ajudo mais porque nao sei pascal, se servir C.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu olhei o seu algoritmo e tomei como modelo para resolver minha questão!

so q o final ñ ta rodando... alguem pode me ajudar a ver onde estou errando??

Program Super ;
var
i, j,totalprodutos, menu: integer;
procurarproduto: string;
nomes: array [1..10]of string;
cadastro: array [1..10]of record
nome: string;
end;
 Begin
 i:= 1;
 repeat
 writeln('Lista de Mercadorias');
 writeln('1 - Adcionar Mercadoria');
 writeln('2 - Pesquisar Mercadoria');
 writeln('3 - Exibir Mercadoria');
 writeln('4 - Alterar Mercadoria');
 writeln('5 - Excluir Mercadoria');
 writeln('6 - Sair');
 write('Opcao desejada');
 readln(menu);
 writeln;
 case menu of
 // case 1
 1: Begin
 write('digite o produto');
 readln(nome);
 writeln('produto incluido');
 readln;
 clrscr;
 i:= i + 1;
 end;
 // case 2
 2: Begin
 write('digite a mercadoria');
 readln(procurarproduto);
 if(procurarproduto <> '')then
 Begin 
 for j:= 1 to 10 do
 if(procurarproduto = cadastro[j])then
 Begin
 writeln('Nome : ',cadastro[j]);
 end;
 if(procurarproduto <> cadastro[j])then
 writeln('mercadoria nao encontrada');
 end;
 readln;
 clrscr;
 end;
 // case 3
 3: Begin
 totalprodutos:= 0;
 for j:= 1 to 10 do
 Begin
 if(cadastro[j] <> '')then
 Begin
 writeln('Nome :', cadastro[j]);
 writeln('----------------');
 totalprodutos:= totalprodutos + 1;
 end;
 end;
 writeln('total de produtos:', totalprodutos);
 writeln('capacidade disponivel:', 10 - totalprodutos);
 readln;
 clrscr;
 end;
 // case 4
 4: Begin
 write('Informe o nome da mercadoria que deseja alterar');
 readln(procurarproduto);
 writeln('---------------');
 for j:= 1 to 10 do
 Begin
 if(procurarproduto = cadastro[j])then
 Begin
 write('Nome, cadastro[j]' :');
 readln(cadastro[j] .nome);
 writeln('-----------------');
 end;
 end;
 readln;
 clrscr;
 end;
 //case 5
 5: Begin
 write('Informe o nome da mercadoria que excluir: ');
 readln(procurarproduto);
 writeln('---------------');
 for j:= 1 to 10 do
 Begin
 if(procurarproduto = cadastro[j] .nome)then
 Begin
 cadastro[j] .nome:= '';
 writeln('Mercadoria deletada');
 readln;
 end;
 end;
 readln;
 clrscr;
 end;
 // case 6
 end;
 until(menu = 8);
 readln;
 End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

conseguir efetuar a parte de incluir, editar, e saida o restante eu to mordendo!

olha aew!

Program Super ;
uses crt;
type
treg= record
cod: integer;
desc: string[20];
preco: real;
qtd: integer;
fab: string[20];
entra: integer;
end;
var
reg: treg;
vet: array[1..100]of treg;
opcao: integer;
procedure Menu;
 Begin
 clrscr;
 writeln('digite sua opcao');
 writeln('1- incluir novo produto');
 writeln('2- editar produto');
 writeln('3- excluir produto');
 writeln('4- consultar por data(informe as datas');
 writeln('5- consultar por nome (inf. letra inicial)');
 writeln('6- consultar por descricao comum(inf. palavra)');
 writeln('7- listar todos os produtos por ordem alfabetica');
 writeln('8- listar todos os produtos ordenados por codigo');
 writeln('9- sair');
 end;
 function Buscar(cod: integer): integer;
 var
 pos: integer;
 begin
 for pos:= 1 to 100 do
 begin
 if(vet[pos] .cod = cod)then
 begin
 // o campo chave (codgigo) foi encontrado
 Buscar:= pos;
 break;
 end;
 end;
 if(pos > 100)then
 begin
 // O campo chave (codgio) nao foi encontrado
 Buscar:= 0;
 end;
 end;
 procedure incluir;
 var
 pos: integer;
 resp: char;
 Begin
 pos:= 1;
 repeat
 clrscr;
 repeat
 write('digite o codigo do produto');
 readln(reg .cod);
 if(reg .cod <= 0)then
 Begin
 writeln('codigo invalido! digite um numero positivo');
 end;
 until(reg .cod > 0);
 pos:= buscar(reg .cod);
 if(pos > 0)then
 begin
 writeln('inclusao nao permitida! codigo ja cadastrado');
 end else
 begin
 pos:= buscar(0);
 if(pos = 0)then
 begin
 writeln('inclusao nao permitida! o vetor ja esta cheio');
 end else
 begin
 write('digite a descricao do produto');
 readln(reg .desc);
 write('digite o preco do produto');
 readln(reg .preco);
 write('digite a data (aaammdd) de entrada do produto');
 readln(reg.entra);
 write('digite a quantidade de produtos incluidos');
 readln(reg .qtd);
 write('digite o fabricante do produto');
 readln(reg .fab);
 vet[pos]:= reg;
 pos:= pos + 1;
 writeln('registro incluido!');
 end;
 end;
 write('outro produto (S/N)?');
 readln(resp);
 until upcase(resp)= 'N';
 end;
 Procedure Editar;
 var
 cod, pos: integer;
 resp: char;
 begin
 repeat
 clrscr;
 repeat
 write('digite o codigo do produto para editar');
 readln(cod);
 if(cod <= 0)then
 begin
 writeln('codigo invalido! digite um numero positivo');
 end;
 until(cod > 0);
 if(cod = reg .cod)then
 begin
 write('Cod:',reg .cod,'. Qual o novo codigo do produto');
 readln(reg .cod);
 write(reg .desc,'Qual a nova descricao');
 readln(reg .desc);
 write(reg .preco,'Qual o novo preco');
 readln(reg .preco);
 write(reg .entra,'Qual a nova data (aaammdd)de entrada');
 readln(reg .entra);
 write(reg .qtd,'Qual a nova quantidade');
 readln(reg .qtd);
 write(reg .fab,'Qual o novo fabricante');
 readln(reg .fab);
 end else
 begin
 writeln('codigo em branco');
 end;
 write('Editar outro produto(S/N)');
 readln(resp);
 until upcase(resp)= 'N';
 end;
 Begin
 repeat
 Menu;
 read(opcao);
 clrscr;
 case opcao of
 1: Incluir;
 2: Editar;
 // incluir aqui demais opcoes
 end;
 until opcao= 9;
 End.
se puder da uma ajuda agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra pesquisar, basta utilizar uma comparação e fazer um laço para verificar todas as posições, exemplo:

 


program teste_pesquisar;

var
   palavra : string;
   vetor   : array[1..3] of string;
   i       : integer;

begin

 writeln('Digite os valores do vetor de 3 posiçoes:');
  for i:= 1 to 3 do
   readln(vetor[i]);

   writeln;
   
 writeln('Digite a palavra a ser pesquisada:');
  readln(palavra);

  writeln;

 for i:=1 to 3 do
 begin
  if ( palavra = vetor[i] ) then
   writeln('A palavra pesquisada foi encontrada na posicao ', i); 

 end;

 readln;
 
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.