Cadastro de Conta Bancária em Pascal

Um leitor me enviou a seguinte mensagem:

“Bom dia Professor 

Preciso de uma ajuda sua com este exercício.

leia as informaçoes a seguir:

cliente:    conta bancaria

numero do cliente             numero da conta

nome do cliente                numero do cliente

telefone do cliente,            saldo

endereço do cliente.        

crie um programa em pascal, que faça o cadastramento de contas,verificando se o numero do cliente titular da conta ja foi previamente cadastrada.

se existir ,devera permitir a inclusao.caso contrario , devera mostrar a mensagem cliente nao cadastrado e abrir uma tela que permita o cadastramento.

o programa deve mostrar, ao final todas as contas cadastrada, alem do nome e telefone do titular.

se puder me ajudar fico no aguardo

obrigado”

ScreenShot174

Sempre que alguém me envia o pedido de um programa eu preciso saber de algumas informações extras:

1. Para quando é a entrega do trabalho

2. Qual a é Pascal? PascalZim, Free Pascal…

3. Se o vosso professor já ensinou PROCEDURE, FUNCTION e manipulação de arquivos.

Pois, nem todas a versões são iguais e o desenvolvimento do programa depende do conhecimento.

Já aviso que o PascalZIM, não é o Pascal completo e por isso tenho que modificar alguns programas.

Vamos a solução:

Program cadastro_bancario;

Type 
cliente=record  
  n_cliente : integer;    
  nome      : string;
  telefone  : integer;
  endereco  : string;
end;  
  
cbancaria = record
  n_conta    : integer;
  n_cliente  : integer;
  saldo      : real; 
end;              
 
Var
  clientes  : array [1..10] of cliente;
  contas    : array [1..10] of cbancaria;
  nclientes : Integer;    // Quantidade de clientes cadastrados
  ncontas   : Integer;    // Quantidade de contas cadastradas
  system    : Integer;
 
Procedure cadastrarcliente;
begin
  nclientes := nclientes + 1;
  ClrScr;
  WriteLn ('Cadastrar Cliente');
  WriteLn;
  Write ('Número do cliente: '); ReadLn(clientes[nclientes].n_cliente);
  Write ('Nome.............: '); ReadLn(clientes[nclientes].nome);    
  Write ('Telefone.........: '); ReadLn(clientes[nclientes].telefone);
  Write ('Endereço.........: '); ReadLn(clientes[nclientes].endereco);
end;
   
 
Procedure cadastrarconta;
var
  ncliente : Integer;
  i        : Integer;
  existe   : Boolean;
  nconta   : Integer;
begin
  Clrscr;
  WriteLn ('Cadastrar Conta');
  WriteLn;
  Write ('Número do cliente: '); ReadLn (ncliente);
  // Verifica se o cliente existe
  existe := false;
  for i := 1 to nclientes do
    if ncliente = clientes[i].n_cliente then existe := true;
  if not(existe) then cadastrarcliente;
  // Cadastrar Conta
  WriteLn ('Cadastrar Conta');
  WriteLn;
  // Verifica se a conta existe
  Repeat
    Write ('Número da conta: '); ReadLn (nconta);
    existe := False;
    for i := 1 to ncontas do
      if contas[i].n_conta = nconta then
      begin
        WriteLn ('Esse numero de conta já existe!');
        Existe := True;
      end;
  Until Not(Existe);
  ncontas := ncontas + 1;    
  contas[ncontas].n_conta := nconta;    
  Write ('Saldo..........: '); ReadLn (contas[ncontas].saldo);
  contas[ncontas].n_cliente := ncliente;
end;

Procedure Mostra_contas;
var
  i,j : Integer;
begin
  ClrScr;
  WriteLn ('Mostra contas');
  WriteLn;
  for i := 1 to ncontas do
  begin
    WriteLn('Número da Contas: ', contas[i].n_conta );
    for j := 1 to nclientes do
    if contas[i].n_cliente = clientes[i].n_cliente then
    begin
      WriteLn('Nome dos titulares: ', clientes[i].nome);
      WriteLn('Telefones dos titulares: ', clientes[i].telefone);
    end;
  end;
  ReadLn;
end;

// ****************************************
// * PROGRAMA PRINCIPAL
// ****************************************
Begin
  // Começa sem nenhuma conta
  ncontas := 0;
  nclientes := 0;
  TextColor (White);
  // Menu de Opções
  repeat
    ClrScr;
    WriteLn ('Cadastramento Bancario');
    WriteLn;
    WriteLn ('1 - Cadastrar Cliente');
    WriteLn ('2 - Cadastrar Conta');
    WriteLn ('0 - Aperte para mostrar cadastro e novamente para sair do sistema');
    WriteLn;
    Write   ('O que deseja fazer ? '); ReadLn (system);     
    case system of
      1: cadastrarcliente;
      2: cadastrarconta;
    end;
  until system=0;
  // Sai do programa e mostra os cadastros
  Mostra_contas;
end.

9 comentários:

  1. Professor se eu te pedir pra fazer um programa pra amanhã você faz por favor ?

    ResponderExcluir
  2. como eu edito e altero esses cadastros?

    ResponderExcluir
  3. Olá Professor . Queria saber se podia fazer um programa em pascal sobre gestão de stocks se faz favor

    ResponderExcluir
  4. Caro, Leitor,

    Como seria o programa?

    Atenciosamente
    Prof. Wellington Telles

    ResponderExcluir
  5. ola professor, eu gostava que o programa contece procedures, arrays ou criar ficheiros, e que lesse os clientes, fornecedores e stock(cod_produto, nome_produto) se faz favor

    ResponderExcluir
  6. professor gostaria de saber se o senhor poderia realizar um programa em linguagem c que:programa em C que realize o cadastro de contras
    bancárias com as seguintes informações: número da conta, nome do
    cliente, CPF do cliente e saldo. O banco deseja cadastrar 12 (doze) contas
    e não poderá haver mais de uma conta com o mesmo número. O
    programa deve ter um menu de opções a seguir:
    1. Cadastrar nova conta;
    2. Visualizar todas as contas de determinado cliente;
    3. Calcular e imprimir na tela o saldo médio das contas cadastradas.

    ResponderExcluir
  7. Geruza,

    Desculpe só ver agora....faria sim. Quando precisar me envie um email.

    ResponderExcluir
  8. professor gostaria si o sr poderia realizar um pograma em pascal de Gestao bancaria contendo

    ResponderExcluir
  9. Bom dia, Valter,

    Passe todos os detalhes que posto aqui.

    Atenciosamente

    ResponderExcluir