Ir para conteúdo

POWERED BY:

Arquivado

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

Benfeitor

Sufoco

Recommended Posts

Galera,

 

Realmente estou no sufoco, tenho que entregar um trabalho amanhã (24/03) e não consegui desenvolver o programa principal, POR FAVOR teria como alguem me dar essa ajuda. Para mim que sou iniciante está muito dificil.

 

As instruções para o programa são:

 

1) Construir uma UNIT e um PROGRAMA em Pascal para controlar o estoque de carros de uma loja de veículos, utilizando a técnica LIFO. O estoque deve ser controlado pelo modelo, ex: Palio, Celta, Gol etc. As rotinas deverão ficar na UNIT e no programa deve constar apenas o menú de opções e as chamadas das rotinas. O programa deve fornecer recursos para:

 

a) Cadastro de veículos no estoque

 

B,) Venda de veículos (remoção do estoque)

 

c) Exibir a quantidade de veículos no estoque

 

d) Exibir a quantidade de veículos vendidos

 

e) Exibir o último veículo cadastrado

 

f) Exibir todos os veículos do estoque

http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Men,

 

A unit já está pronta, como havia dito só falta o programa principal, mais tá tão dificil que estou quase desistindo.

Dê uma olhada na unit.

 

Unit Pilha;

 

Interface

 

Const Max = 50;

Type Elem = char;

Pilhas = record

topo : integer;

Memo : array[1..Max] of Elem;

end;

Var P: Pilhas;

 

Procedure Init(var P : Pilhas);

Function IsEmpty(var P : Pilhas) : boolean;

Function IsFull(var P : Pilhas) : boolean;

Procedure Push(var P : Pilhas; x : Elem);

Function Pop(var P : Pilhas) : Elem;

Function Top(var P : Pilhas): Elem;

 

Implementation

 

Procedure Init(var P : Pilhas);

begin

P.Topo := 0;

end;

 

Function IsEmpty(var P: Pilhas): boolean;

begin

if P.Topo = 0 then

IsEmpty := True

Else

IsEmpty := False;

end;

 

Function IsFull(var P: Pilhas): boolean;

begin

if P.Topo = Max then

IsFull := True

else

IsFull := False;

end;

 

Procedure Push (var P: Pilhas; X : Elem);

begin

if not IsFull(P) then

begin

P.Topo := P.Topo + 1;

P.memo[P.Topo] := x;

end

else

writeln('A pilha esta cheia!');

End;

 

Function Pop(var P: Pilhas): Elem;

begin

if not IsEmpty(P) then

begin

Pop := P.memo[P.Topo];

P.Topo := P.Topo - 1;

end

else

writeln(' A pilha esta vazia! ');

End;

 

Function Top(var P : Pilhas) : Elem;

begin

if not IsEmpty(P) then

Top := P.memo[P.Topo]

else

writeln(' A pilha esta vazia! ');

End;

End.

Cara, eu não conheço muito pascal, mas a lógica de criar isso eu posso ajudar.

 

Voce fez alguma coisa?

post o código ai.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Men,

 

Eis o que já consegui fazer:

 

program Carro;

uses crt, pilha;

var X: elem;

op: integer;

begin

clrscr;

repeat

writeln('Menu Principal');

writeln;

writeln('[1] Cadastrar Veiculo');

writeln('[2] Vender Veiculo (Remover)');

writeln('[3] Exibir Quantidade Estoque');

writeln('[4] Exibir Veiculos Vendidos');

writeln('[5] Exibir Ultimo Veiculo Cadastrado');

writeln('[6] Exibir Todos Veiculos');

writeln('[7] Sair');

writeln;

write('Escolha a opcao: ');

readln(op);

if op = 1 then

begin

 

end

else

if op = 2 then

begin

 

end

else

if op = 3 then

begin

 

end

else

if op = 4 then

begin

 

end

else

if op = 5 then

begin

 

end

else

if op = 6 then

begin

 

end

else

writeln('Opcao invalida');

until op <> 7;

readln;

end.

 

Men,

 

A unit já está pronta, como havia dito só falta o programa principal, mais tá tão dificil que estou quase desistindo.

Dê uma olhada na unit.

 

Unit Pilha;

 

Interface

 

Const Max = 50;

Type Elem = char;

Pilhas = record

topo : integer;

Memo : array[1..Max] of Elem;

end;

Var P: Pilhas;

 

Procedure Init(var P : Pilhas);

Function IsEmpty(var P : Pilhas) : boolean;

Function IsFull(var P : Pilhas) : boolean;

Procedure Push(var P : Pilhas; x : Elem);

Function Pop(var P : Pilhas) : Elem;

Function Top(var P : Pilhas): Elem;

 

Implementation

 

Procedure Init(var P : Pilhas);

begin

P.Topo := 0;

end;

 

Function IsEmpty(var P: Pilhas): boolean;

begin

if P.Topo = 0 then

IsEmpty := True

Else

IsEmpty := False;

end;

 

Function IsFull(var P: Pilhas): boolean;

begin

if P.Topo = Max then

IsFull := True

else

IsFull := False;

end;

 

Procedure Push (var P: Pilhas; X : Elem);

begin

if not IsFull(P) then

begin

P.Topo := P.Topo + 1;

P.memo[P.Topo] := x;

end

else

writeln('A pilha esta cheia!');

End;

 

Function Pop(var P: Pilhas): Elem;

begin

if not IsEmpty(P) then

begin

Pop := P.memo[P.Topo];

P.Topo := P.Topo - 1;

end

else

writeln(' A pilha esta vazia! ');

End;

 

Function Top(var P : Pilhas) : Elem;

begin

if not IsEmpty(P) then

Top := P.memo[P.Topo]

else

writeln(' A pilha esta vazia! ');

End;

End.

Cara, eu não conheço muito pascal, mas a lógica de criar isso eu posso ajudar.

 

Voce fez alguma coisa?

post o código ai.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu imaginei uma estrutura assim:

 

estoque

string modelo

integer numero

 

Já que ele quer que o estoque seja controlado pelo modelo.

 

LIFO é last in first out, ou seja, último a entrar é o primeiro a sair.

 

No programa principal voce deve fazer um menu.

 

Por exemplo:

 

cadastra carro chama a função push que cadastra um novo carro.

remove carro chama a função pop que remove um carro do estoque.

 

É isso cara, tenta ai e qualquer coisa volte a postar.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.