Shickcard

Informed v1.0

Dec 5th, 2011
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 12.64 KB | None | 0 0
  1. Program Infomed ;
  2.  
  3. { CRÉDITOS À SHICKCARD E ZÉ PAULO }
  4.  
  5. //cadastro de remedios/////////////////////////////
  6.  
  7. type
  8.  
  9.         farmacia_login = record
  10.       login : string;
  11.        senha : string;
  12.      end;
  13.  
  14.       tcadastro_de_remedio=record
  15.        nome_do_remedio:string;
  16.       preco:real;
  17.        codigo_de_barra:integer;
  18.        descricao:string;
  19.        modo_de_uso:string;
  20.     end;
  21.  
  22. //cadastro de clientes/////////////////////////////  
  23.  
  24.      tcadastro_de_clientes=record
  25.       nome_do_cliente:string;
  26.       tendereco:record
  27.             telefone_fixo:integer;
  28.             numero_celular:integer;
  29.             numero_casa:integer;
  30.             rua:string;
  31.             bairro:string;
  32.             cidade:string;
  33.             estado:string;
  34.            end;
  35.      end;
  36.      
  37. //cadastro de funcionarios/////////////////////////
  38.    
  39.       tcadastro_funcionario=record
  40.        nome_funcionario:string;
  41.        salario_fucionario:real;
  42.        ttendereco:record
  43.                    
  44.                    telefone_fixo:integer;
  45.                    numero_celular:integer;
  46.                    numero_casa:integer;
  47.                    rua:string;
  48.                    bairro:string;
  49.                    cidade:string;
  50.                    estado:string;
  51.                   end;
  52.       end;
  53.  
  54.  //estoque de remédios//////////////////////////////      
  55.  
  56.       testoque=record
  57.        qtd_remedio:integer;
  58.        nome_remedio:string;
  59.       end;
  60.      
  61.  //caixa/////////////////////////////////////////////
  62.  
  63.       tcaixa=record
  64.             valor_pago:real;
  65.            preco:real;
  66.            preco1:real;
  67.            nome:string;
  68.            consultadepreco:string;
  69.            produto_codigo:integer;
  70.            valor_total:real;
  71.      end;      
  72.      
  73.  //relatorio/////////////////////////////////////////
  74.  
  75.       trelatorio=record
  76.                  remedio_mais_vendido:string;
  77.                  remedios_tarja_preta:string;
  78.                  apresentacao:string;
  79.                  
  80.      end;      
  81.    
  82.  //variaveis globais/////////////////////////////////
  83.  
  84.   var cadastro_de_remedio:tcadastro_de_remedio;
  85.       cadastro_de_clientes:tcadastro_de_clientes;
  86.       cadastro_funcionario:tcadastro_funcionario;  
  87.      estoque:testoque;
  88.      caixa:tcaixa;
  89.      relatorio:trelatorio;
  90.      endereco:ttendereco;
  91.      opcaorepetir:char;
  92.      i:integer;
  93.      sistema:farmacia_login;
  94.      sLogin, sSenha: string;
  95.      
  96.          
  97. //procedure exibe////////////////////////////
  98.  
  99. procedure exibe(var t:text);
  100. VAR S:STRING;
  101. begin
  102. reset(t);
  103. while not eof(t) do
  104. begin
  105. readln(t,s);
  106. writeln(s);
  107. end;
  108.  close(t);
  109. end;       
  110.      
  111.      
  112.      
  113.      
  114. //funcao_cons_estoque/////////////////////////////////   
  115.      
  116. procedure funcao_cons_estoque;
  117. var arquivo_txt:text;
  118. i:string;
  119. aux:integer;
  120. nome_cons:string;
  121. begin
  122. Assign(arquivo_txt,'i:estoque.txt');
  123.         Reset(arquivo_txt);
  124.           Close(arquivo_txt);
  125.           exibe(arquivo_txt);
  126.           readkey;
  127.  
  128. end;     
  129.      
  130.      
  131.  //funcao caixa///////////////////////////////////////
  132.  
  133.   procedure funcao_caixa;
  134.   VAR opcao_caixa:char;
  135.    begin
  136.     repeat
  137.  
  138.     writeln('Preço do produto:');
  139.     readln(caixa.preco);
  140.     caixa.preco1:=caixa.preco1+caixa.preco;
  141.     clrscr ;
  142.     writeln('Nome do produto:');
  143.     readln(caixa.nome);
  144.     clrscr ;
  145.     writeln('Código do produto:');
  146.     readln(caixa.produto_codigo);
  147.     writeln('Valor a ser pago é:',caixa.preco1);
  148.     writeln('Deseja continuar? S/N');
  149.     readln(opcao_caixa);
  150.     UNTIL upcase(opcao_caixa)<>'S';
  151.     writeln('Valor pago:');
  152.     readln(caixa.valor_pago);
  153.     clrscr ;
  154.     caixa.valor_total:=caixa.valor_pago-caixa.preco1;
  155.     writeln('Troco: R$',caixa.valor_total);
  156.     readkey;
  157.    end;
  158.  
  159.  //consulta de clientes///////////////////
  160. //procedure funcao_consulta_cli;
  161. ///begin
  162. //writeln(digite o nome do cliente);
  163. // Assign(arquivo_txt,'i:estoque.txt');
  164.        // Reset(arquivo_txt);
  165.        //   Close(arquivo_txt);
  166.         //  exibe(arquivo_txt);
  167.         //  readkey;
  168.  
  169. //end;   
  170.      
  171.  //funcao cadastto de clientes////////////////////////
  172.  
  173.  procedure funcao_cadastro_de_clientes;
  174.  var arquivo_txt:text;
  175.  nome_cli:string[30];
  176.   begin
  177.    writeln('Digite o nome do cliente:');
  178.    readln(nome_cli);
  179.    assign(arquivo_txt,nome_cli+'i:.txt');
  180.    writeln('Digite o nome do cliente novamente:');
  181.    append(arquivo_txt);
  182.    readln(cadastro_de_clientes.nome_do_cliente);
  183.    writeln(arquivo_txt,cadastro_de_clientes.nome_do_cliente);
  184.    writeln('Digite o endereço:');
  185.    writeln('Rua:');
  186.    readln(cadastro_de_clientes.tendereco.rua);
  187.    writeln(arquivo_txt,cadastro_de_clientes.tendereco.rua);
  188.    writeln('Bairro:');
  189.    readln(cadastro_de_clientes.tendereco.bairro);
  190.    writeln(arquivo_txt,cadastro_de_clientes.tendereco.bairro);
  191.    writeln('Cidade:');
  192.    readln(cadastro_de_clientes.tendereco.cidade);
  193.    writeln(arquivo_txt,cadastro_de_clientes.tendereco.cidade);
  194.    writeln('Digite o número da casa:');
  195.    readln(cadastro_de_clientes.tendereco.numero_casa);
  196.    writeln(arquivo_txt,cadastro_de_clientes.tendereco.numero_casa);
  197.    writeln('Estado:');
  198.    readln(cadastro_de_clientes.tendereco.estado);
  199.    writeln(arquivo_txt,cadastro_de_clientes.tendereco.estado);
  200.    writeln('Telefone fixo:');
  201.  
  202.    readln(cadastro_de_clientes.tendereco.telefone_fixo);
  203.    writeln(arquivo_txt,cadastro_de_clientes.tendereco.telefone_fixo);
  204.    close(arquivo_txt);
  205.   end;  
  206.      
  207.  //FUNCAO ESTOQUE/////////////////////////////////////
  208.  
  209.  procedure funcao_estoque;
  210.  var arquivo_txt:text;
  211.   preco:real;
  212.   begin
  213.    assign(arquivo_txt,'i:estoque.txt');
  214.    writeln('Digite o nome do remédio:');
  215.    Append ( arquivo_txt) ;
  216.    //rewrite(arquivo_txt);
  217.    readln(estoque.nome_remedio);
  218.    writeln(arquivo_txt,' ');
  219.    write(arquivo_txt,estoque.nome_remedio,' ');
  220.    writeln('Digite a quantidade de remedios:');
  221.    readln(estoque.qtd_remedio);
  222.    write(arquivo_txt,estoque.qtd_remedio,'Unidade(s) R$: ');
  223.    writeln('Digite o preço da unidade:');
  224.    readln(preco);
  225.    write(arquivo_txt,preco:2:2,' ');
  226.      
  227.    close(arquivo_txt);
  228.   end;
  229.      
  230.  //funcao cadastro de funcionarios///////////////////    
  231.      
  232.  procedure funcao_cadastro_de_funcionario;
  233.   var arquivo_txt:text;
  234.   nome_arquivo:string;
  235.   begin
  236.   writeln('Digite o nome a ser salvo:');
  237.   readln(nome_arquivo);
  238.   assign(arquivo_txt,nome_arquivo+'.txt');
  239.   rewrite(arquivo_txt);
  240.    writeln('Digite o nome do fucionário:');
  241.    readln(cadastro_funcionario.nome_funcionario);
  242.    writeln(arquivo_txt,cadastro_funcionario.nome_funcionario);
  243.    writeln('Digite o endereço:');
  244.    writeln('Rua:');
  245.    readln(cadastro_funcionario.ttendereco.rua);
  246.    writeln(arquivo_txt,cadastro_funcionario.ttendereco.rua);
  247.    writeln('Bairro:');
  248.    readln(cadastro_funcionario.ttendereco.bairro);
  249.    writeln(arquivo_txt,cadastro_funcionario.ttendereco.bairro);
  250.    writeln('Cidade:');
  251.    readln(cadastro_funcionario.ttendereco.cidade);
  252.    writeln(arquivo_txt,cadastro_funcionario.ttendereco.cidade);
  253.    writeln('Digite o número da casa:');
  254.    readln(cadastro_funcionario.ttendereco.numero_casa);
  255.    writeln(arquivo_txt,cadastro_funcionario.ttendereco.numero_casa);
  256.    writeln('Estado:');
  257.    readln(cadastro_funcionario.ttendereco.estado);
  258.    writeln(arquivo_txt,cadastro_funcionario.ttendereco.estado);
  259.    writeln('Salário:');
  260.    readln(cadastro_funcionario.salario_fucionario);
  261.    writeln(arquivo_txt,cadastro_funcionario.salario_fucionario);
  262.    writeln('Telefone fixo:');
  263.    readln(cadastro_funcionario.ttendereco.telefone_fixo);
  264.    writeln(arquivo_txt,cadastro_funcionario.ttendereco.telefone_fixo);
  265.   close(arquivo_txt);
  266.   end;
  267.  
  268.  //funcao cadastro de remedio///////////////////////    
  269.  
  270.  procedure funcao_cadastro_de_remedio;
  271.  var arquivo_txt:text;
  272.   begin
  273.    assign(arquivo_txt,'cadastro_remedio.txt');   
  274.    rewrite(arquivo_txt);
  275.    writeln('Digite o nome do remédio:');
  276.    readln(cadastro_de_remedio.nome_do_remedio);
  277.    writeln(arquivo_txt,cadastro_de_remedio.nome_do_remedio);
  278.    writeln('Digite o preço do remédio:');
  279.    readln(cadastro_de_remedio.preco);
  280.    writeln(arquivo_txt,cadastro_de_remedio.preco);
  281.    writeln('Digite o código de barras:');
  282.    readln(cadastro_de_remedio.codigo_de_barra);
  283.    writeln(arquivo_txt,cadastro_de_remedio.codigo_de_barra);
  284.    writeln('Digite a descrição:');
  285.    readln(cadastro_de_remedio.descricao);
  286.    writeln(arquivo_txt,cadastro_de_remedio.descricao);
  287.    close(arquivo_txt);
  288.   end;   
  289.    
  290.  //procedure para menu/////////////////////////////
  291.  
  292. procedure menuinicial;
  293.  begin
  294.    writeln('Entre com o tipo de usuario');
  295.    writeln('1. Gerente');
  296.    writeln('2. Caixa');
  297.    writeln('3. Dono');
  298.  end;
  299.  
  300.  //funcao menu de opcao//////////////////////////////
  301.  
  302.    procedure menu_gerente;
  303.    var opcao_menu_gerente:integer;
  304.    begin
  305.      writeln('1. Para cadastro de remédio');
  306.      writeln('2. Para cadastro de funcionários');
  307.      writeln('3. Para novo estoque');
  308.      readln(opcao_menu_gerente);
  309.      
  310.     case opcao_menu_gerente of
  311.      1:funcao_cadastro_de_remedio;
  312.      2:funcao_cadastro_de_funcionario;
  313.      3:funcao_estoque;
  314.     end;
  315.    
  316.    end;
  317.    
  318.  //menu dono///////////////////////////////////////
  319.  
  320. procedure menu_dono;
  321.  var opcao_dono:integer;
  322.  begin
  323.   writeln('1. Para cadastro de cliente.');
  324.   writeln('2. Venda de produto.');
  325.   writeln('3. Consutar estoque.');
  326.   writeln('4. Para cadastro de remédio.');
  327.   writeln('5. Para cadastro de funcionários.');
  328.   writeln('6. Para novo estoque.');
  329.   readln(opcao_dono);
  330.  
  331.    case opcao_dono of
  332.      1:funcao_cadastro_de_clientes;
  333.      2:funcao_caixa;
  334.      3:funcao_cons_estoque;
  335.      4:funcao_cadastro_de_remedio;
  336.      5:funcao_cadastro_de_funcionario;
  337.      6:funcao_estoque;
  338.  
  339.  
  340.  
  341.     end;  
  342.  end;
  343.  
  344.  
  345.  //funcao menu de opcao//////////////////////////////  
  346.  
  347.  procedure menu_caixa;
  348.  var opcao_menu_caixa:integer;
  349.  begin
  350.   writeln('1. Para cadastro de cliente.');
  351.   writeln('2. Venda de produto.');
  352.   writeln('3. Consultar estoque ou preço.');
  353.   readln(opcao_menu_caixa);
  354.   case opcao_menu_caixa of
  355.  
  356.    1:funcao_cadastro_de_clientes;
  357.    2:funcao_caixa;
  358.    3:funcao_cons_estoque
  359.    else
  360.    writeln('erro de escolha, voltarar para o menu inicial');
  361.    readkey;
  362.   end;
  363.  
  364.  end;  
  365.    
  366.  
  367.  //procedure para cadastro de remedios//////////////
  368.  
  369.  procedure cadastro_remedio_menu;
  370.  var opcao:integer;
  371.   begin
  372.    with cadastro_de_remedio do
  373.     begin  
  374.        readln(opcao);
  375.        clrscr ;
  376.        case opcao of  
  377.         1:menu_gerente;
  378.         2:menu_caixa;
  379.         3:menu_dono;
  380.        end;
  381.     end;  
  382.   end;
  383.  
  384.  
  385.  
  386.  
  387.    
  388. //programa principal///////////////////////////////
  389.        
  390.  Begin
  391.  
  392.  
  393.   TEXTCOLOR(yellow);
  394.   textbackground ( green );
  395.   clrscr ;
  396.   writeln('Site: www.informed.net');
  397.   gotoxy(10,10);
  398.   writeln('BEM VINDO AO SOFTWARE COMERCIAL INFOMED');
  399.   gotoxy(10,11);
  400.   WRITELN('Mais um software da empresa Shickmed');
  401.   gotoxy(10,12);
  402.   writeln('Dê enter para iniciar ');
  403.   readkey;
  404.   clrscr ;
  405.  
  406.  
  407.   for i:=1 to 50 do
  408.   begin
  409.   gotoxy(10,10);
  410.   writeln('Carregando arquivos... ',i*2,'%');
  411.   gotoxy(i,11);
  412.   TEXTCOLOR(blue);writeln(#176);
  413.   delay(200);
  414.   end;
  415.    
  416.  
  417.   repeat
  418.    TEXTCOLOR(yellow);
  419.    textbackground ( blue ) ;
  420.    clrscr ;
  421.    
  422.      sLogin := 'admin';
  423.      sSenha := '123';
  424.      
  425.     writeln('Login:                                                                 ');
  426.      writeln('Senha:                                                                 ');
  427.     gotoxy(8,1);
  428.     read(sistema.login);
  429.     gotoxy(8,2);
  430.     read(sistema.senha);
  431.     clrscr;
  432.     writeln('Login: ',sistema.login);
  433.     writeln('Senha: *****');
  434.    
  435.     if(sistema.login = sLogin) and (sistema.senha = sSenha) then
  436.      begin
  437.       writeln('');
  438.       writeln('Logado com sucesso no sistema.');
  439.       writeln('');
  440.      end
  441.    
  442.     else if(sistema.login <> sLogin) or (sistema.senha = sSenha) then
  443.      begin
  444.        writeln('Login incorreto!');
  445.        write(chr(7));
  446.        clrscr;
  447.        for i:=1 to 20 do
  448.        begin
  449.         writeln('Tempo: ',i, ' Seg');
  450.         delay(1000);
  451.         clrscr;
  452.        end;
  453.      end
  454.      
  455.     else if(sistema.login = sLogin) or (sistema.senha <> sSenha) then
  456.      begin
  457.        writeln('Senha incorreta!');
  458.        write(chr(7));
  459.        clrscr;
  460.        for i:=1 to 20 do
  461.        begin
  462.         writeln('Tempo: ',i, ' Seg');
  463.         delay(1000);
  464.         clrscr;
  465.        end;
  466.      end
  467.      
  468.     else if(sistema.login <> sLogin) or (sistema.senha <> sSenha) then
  469.      begin
  470.        writeln('Login e Senha incorretos!');
  471.        write(chr(7));
  472.        clrscr;
  473.        for i:=1 to 20 do
  474.        begin
  475.         writeln('Tempo: ',i, ' Seg');
  476.         delay(1000);
  477.         clrscr;
  478.        end;
  479.      end;
  480.    
  481.    menuinicial;
  482.    cadastro_remedio_menu;
  483.    clrscr ;  
  484.    writeln('Deseja voltar para o menu inicial? S/N');
  485.    readln(opcaorepetir);
  486.   until(upcase(opcaorepetir))<> 'S';
  487.    
  488.  End.
  489.  
  490.  { CRÉDITOS À SHICKCARD E ZÉ PAULO }
  491.  
Advertisement
Add Comment
Please, Sign In to add comment