Benfeitor 0 Denunciar post Postado Março 23, 2008 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
Kandrade 7 Denunciar post Postado Março 23, 2008 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
Benfeitor 0 Denunciar post Postado Março 23, 2008 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
Benfeitor 0 Denunciar post Postado Março 23, 2008 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
Kandrade 7 Denunciar post Postado Março 23, 2008 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