Jump to content
Sign in to follow this  
jp_07

Gestão de uma padaria

Recommended Posts

jp_07

oi,

tenho de desenvolver um programa em turbo pascal (com ficheiros) e não estou a conseguir a desenvolve-lo (sou num nabo a pascal)  e tenho de entregar o meu trabalho no final desta semana.

O meu programa tem 5 ficheiros(clientes,fornecedores,empregados,receitas e stock),nos clientes,fornecedores e empregados tenho de ter (inserir, remover, alterar e listar todos) nas receitas tenho de ter o grau de dificuldade, preparação e em stock tenho de ter no minimo 3 produtos de cada.

de seguida deixo aqui o meu programa.

fico muito agradecido pelas ajudas que poderão surgir.

Program Projecto_Pastelaria;
uses crt;
type Clientes=Record
              Cod_Cliente:integer;
              Nome:string[100];
              Morada:string[80];
              Telefone:integer;
            end;

type Fornecedores=Record
                Cod_Fornecedor:integer;
              Nome:string[100];
            Morada:string[80];
          Telefone:integer;
      end;

type Empregados=Record
        Nome:string[50];
           Morada:string[80];
        Idade:integer;
        Telefone:integer;
        end;

type Stock=Record
         Cod_Produto:integer;
         Nome_Produto:string[100];
         end;

type Receitas=Record
         Cod_Receita:integer;
         Nome:string[50];
      Tempo_preparacao:integer;
         Grau_dificuldade:string[50];
         Preparacao:string[255];
       end;
var
n:integer;
cliente:file of clientes;
reg:clientes;

Procedure Init;
      Begin
       Assign(cliente,'g:\cliente.bin');
       
       {$I-}
         Reset(cliente);
       {$I+}
       If(IOResult<>0) then
        Rewrite(cliente);
       Close(cliente);
      End;


procedure Inserir_Cliente;
var
i:integer;
enc:boolean;
begin
     Reset(cliente);
     
     
     Clrscr;
   writeln(' Quantos registos quer inserir? ');
     readln(n);
   while not eof (cliente) 
    begin
          Clrscr;
          for i:= 1 to n do
           begin
            writeln(' Insira o Código de Cliente');
              readln(reg.Cod_Cliente);
            writeln(' Insira o Nome do Cliente');
            readln(reg.nome);
            writeln(' Insira a Morada do Cliente');
            readln(reg.morada);
            writeln(' Insira o Telefone do Cliente');
            readln(reg.telefone);
              Reset(cliente);
              Rewrite(tmp);
            
            end;
           end;
end;
(*Procedure Remover_cliente;
var*)
Procedure AltNome;
      Begin
        Clrscr;
        Writeln(' Nome actualmente registado --- ',reg.Nome);writeln('');
        Writeln(' Insira o nome com alteração --- ');
      readln(reg.nome);
      End;          
Procedure AltMorada;   
   Begin
      Clrscr;
        writeln(' Morada actualmente registada --- ',reg.morada);writeln('');
        Writeln(' Insira a Morada com alteração --- ');
        readln(reg.morada);
   End;      
   Procedure AltTelefone;
      Begin
         Clrscr;
         Writeln(' Telefone actualmente registada --- ',reg.telefone);writeln('');
         Writeln(' Insira o Telefone com alteração --- ');
       readln(reg.telefone);
      End;
procedure Menu_Alterar;
var
op:char;
begin
     clrscr;
       writeln('');
   writeln('                           ALTERAR DADOS DO CLIENTE');
     Repeat  
   writeln('');
   writeln('                          Insira o Código de Cliente ');
   readln(reg.cod_cliente);
   clrscr;
       writeln('');
      writeln('                      * * * * * MENU ALTERAR CLIENTE * * * * * ');
     writeln('');             
     writeln('                           1 - Alterar Nome do Cliente');
     writeln('');
     writeln('                           2 - Alterar Morada do Cliente');
     writeln('');
       writeln('                           3 - Alterar Telefone do Cliente');
       writeln('');
     writeln('                           4 - Sair');
     writeln('');
     op:=readkey;
      Case op of
       '1': AltNome;
       '2': AltMorada;
       '3': AltTelefone;
       '4': begin
           writeln(' PRIMA ENTER PARA SAIR');
              readln;
           End;
        End;
      until (op='4')
end;

procedure Listar_CLientes;
var
i:integer;
begin
   clrscr;
   writeln('');
   writeln(' Processo do Cliente');
   for i:= 1 to n do
   begin
   writeln('');
     writeln(' Código do Cliente              ',reg.cod_cliente);
     writeln('');
     writeln(' Nome do Cliente                ',reg.nome);
     writeln('');
   writeln(' Morada do Cliente              ',reg.morada);
   writeln('');
   writeln(' Telefone do Cliente            ',reg.telefone);
   writeln('');
   readkey;
   end;
end;
Procedure menu_cliente;
var
op:char;
begin

     Repeat
      Begin
       clrscr;
       writeln('    ');
       writeln('    * * * * * MENU CLIENTES  * * * * *      ');
       writeln('    ');
       writeln('        1 - Inserir         ');
       writeln('    ');
       writeln('        2 - Remover            ');
       writeln('    ');
       writeln('        3 - Modificar            ');
       writeln('    ');
       writeln('        4 - Listar Todos            ');
       writeln('    ');
       writeln('        S - Sair                  ');
       writeln('    ');
       op:=readkey;
        case op of
         '1':Inserir_Cliente;
        (* '2':Remover_cliente;*)
         '3':Menu_Alterar;
         '4':Listar_CLientes;
         's','S':begin
              writeln('PRIMA ENTER PARA SAIR');
                 readln;
               End;
        end;
      End;
     until (op='S') or (op='s');
end;

procedure menu;
var
op:char;
pass:integer;
begin

     repeat
          clrscr;
     writeln('');
     writeln(' Efectuar login como:');
     writeln('');
     writeln(' 1 - Administrador');
     writeln('');
     writeln(' 2 - Utilizador');
     writeln('');
     writeln(' S - Sair');
     writeln('');
     read(op);
         if(op='1') then
            begin
             clrscr;
             writeln(' Insira a password');
             read(pass);
         clrscr;
             if(pass=123)then
               begin
          menu_cliente;
         end
             else
      Writeln(' Password Errada, tente de novo');writeln('');
          writeln(' Prima enter para continuar');
      readln;
        end;
       if(op='s')or(op='S')then;
              writeln(''); writeln(' PRIMA ENTER PARA SAIR');
     until(op='s')or(op='S');
end;

begin


menu;

end.

Share this post


Link to post
Share on other sites
M6

jp_07, se queres ajuda tens de colocar as tuas dificuldades de forma explicita e concreta.

Ninguém aqui te vai fazer o programa nem sequer olhar para o código fonte ou ver se compila sem erros.

Se necessitas de ajuda abre um tópico para cada dúvida e explica-a de forma clara e concreta.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
jp_07

Como vê só tenho a parte cliente e não esta a funcionar nenhuma das partes do cliente é que eu não consigo trabalhar com ficheiros.

A minha maior duvida é mesmo no cliente é que os dados inseridos por mim não ficam gravados, o remover não consigo fazer, o alterar só altera o último registo inserido e o listar só lista o último.

espero que em ajude

Share this post


Link to post
Share on other sites
M6

jp_07, como referi, abre um tópico para cada uma das tuas dúvidas e coloca-as de forma clara.

Até lá, vê lá se isto te ajuda: http://www.forumweb.com.br/foruns/topic/20769-trabalhando-com-arquivos-em-pascal/


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.