Cadastro de Clientes em Pascal Parte 3

Na parte 2 melhoramos o processo para armazenar os clientes utilizando matriz (no caso um vetor que é uma matriz de 1 por N).

Agora vamos acertar a entrada dos dados.

No campo SEXO só deveriamos entrar com M ou F, podemos limitar a maiúsculas ou minúsculas ou ambas. Só que para efeito de contagem ficaria pior.

Então nessa etapa vamos limitar primeiro a M ou F apena maiúsculo.

Repeat Write ('Sexo...:'); ReadLn (Sexo[i]); Until (Sexo[i]='M') or (Sexo[i]='F');

O processo é bem simples, vamos repetir até a variável SEXO seja M ou F:

Código Fonte:

 Program Cadastro_de_Clientes_Versao_2;
Uses Crt;
Var
Nome : Array [1..15] of String[40];
Idade : Array [1..15] of Integer;
Sexo : Array [1..15] of Char;
i   : Integer;
Begin
ClrScr;
WriteLn ('Cadastro de Clientes V1.0');
WriteLn;
for i := 1 to 15 do
Begin
 WriteLn ('Cliente No',i);
 Write ('Nome...:'); ReadLn (Nome[i]);
 Write ('Idade..:'); ReadLn (Idade[i]);
 Repeat
  Write ('Sexo...:'); ReadLn (Sexo[i]);
 Until (Sexo[i]='M') or (Sexo[i]='F');
End;
ReadLn;
End.

Para essa parte só isso seria pouco, então já vamos avançar para duas coisas mais. Você necessariamente não precisa incluir os quinze clientes de uma vez, então vamos criar um menu com três opções: Incluir os clientes e Mostrar os Clientes e Sair.

1 - Incluir Clientes

2 - Mostrar Clientes

3 - Sair

Agora sim a estrutura vai ser mudada, pois pense o programa irá ficar se repetindo até que se escolha a opção 3 - Sair.

Para selecionar as opções vamos criar uma variável chamada OPCAO e vamos selecionar cada item com um IF primeiro, para depois melhorar.

Outro fator importante é saber a quantidade de clientes para que possamos armazenar o cliente na posição correta no vetor, ou seja, se não tenho clientes (quando o programa começa) nós vaos armazenar na primeira posição, se eu tiver 1 cliente armazenado nós vamos armazenada na segunda posição, pois a primeira já está ocupada.

 Program Cadastro_de_Clientes_Versao_3;
Uses Crt;
Var
Nome   : Array [1..15] of String[40];
Idade   : Array [1..15] of Integer;
Sexo   : Array [1..15] of Char;
i     : Integer;
NClientes : Integer; // Numero de Clientes
Opcao   : Integer;
Begin
NClientes := 0; // Come‡a com 0 Clientes
Repeat
 ClrScr;
 WriteLn ('Cadastro de Clientes V1.0');
 WriteLn;
 WriteLn ('1 - Incluir Clientes');
 WriteLn ('2 - Mostrar Clientes');
 WriteLn ('3 - Sair');
 WriteLn;
 Write ('Opcao: '); ReadLn (Opcao);
 If opcao = 1 then
 Begin
  NClientes := NClientes+1;
  WriteLn ('Cliente No.:',NClientes);
  Write ('Nome...:'); ReadLn (Nome[NClientes]);
  Write ('Idade..:'); ReadLn (Idade[NClientes]);
  Repeat
   Write ('Sexo...:'); ReadLn (Sexo[NClientes]);
  Until (Sexo[NClientes]='M') or (Sexo[NClientes]='F');
 End;
 If opcao = 2 then
 Begin
  For i := 1 to NClientes do
  Begin
   WriteLn ('Cliente No.: ',i);
   WriteLn ('Nome.......: ',Nome[i]);
   WriteLn ('Idade......: ',Idade[i]);
   WriteLn ('Sexo.......: ',Sexo[i]);
   WriteLn ('=======================================');
  End;
  ReadLn;
 End;
Until (Opcao=3);
End.

Está com dúvida? Deixe seu comentário e não deixe de prestigiar o blog. Na próxima etapa vamos ALTERAR e EXCLUIR um cliente.

2 comentários:

  1. oi professor estou com problema preciso fazer um trabalho de faculdade para desenvolver um sistema de caixa eletronico e o sistema deve ter as seguintes funcionalidades:menu de cadastro,cadastro de clientes,nome,idade,endereço,conta corrente,limite do cheque especial
    menu de operações:depositos,saques,consulta de saldos e menu de relatorios clientes cadastrados,dados clientes,saldo da conta e sistema somente deve aceitar maiores de idade por gentileza me ajude

    ResponderExcluir
  2. Me envie um email:

    telles.wellington@bol.com.br

    ResponderExcluir