Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Raphael Amorim

Ajuda em programa de pascal

Recommended Posts

Boa noite, preciso fazer um programa em pascal que: Desenvolva um programa que receba o nome, sexo, idade, rua e bairro de cinco clientes. Em seguida o programa deve solicitar o nome do cliente que desejamos encontrar, se o cliente for encontrado, todos os dados do cliente deve ser exibido, caso contrário, exibir uma mensagem informando que o cliente não foi encontrado.

Porém não consigo fazer com que o programa busque o cliente por nome, somente pela posição dele. Alguem me da uma luz?

Segue abaixo o código:

Program minibancodedados;
Type Cliente=Record
Nome,Rua,Bairro:string[40];
Idade: integer;
Sexo: string;
end;
Var
Cliente1: array [1..5] of Cliente;
I:integer;
opcao: char;


Begin
For I:= 1 to 2 do
Begin
Writeln ('---------------------------');
Writeln ('Digite o nome do cliente');
readln(Cliente1[I].Nome);
Writeln ('Digite a idade do cliente');
readln(Cliente1[I].Idade);
Writeln('Digite o sexo do cliente');
readln (Cliente1[I].Sexo);
Writeln('Digite a rua onde o cliente mora');
readln(Cliente1[I].Rua);
Writeln('Digite o Bairro onde o cliente mora');
readln(Cliente1[I].Bairro);
End;
ClrScr;

opcao:= 'S';
While (opcao = 'S') do
Begin
writeln ('Que Cliente voce deseja localizar?');
readln(I);

If (I > 2) then
Begin
writeln ('Cliente não encontrado, deseja continuar? Pressione S para Sim N para N');
readln(opcao);
End
Else
Writeln(Cliente1[I].Nome);
Writeln(Cliente1[I].Idade, 'anos');
Writeln(Cliente1[I].Sexo);
Writeln(Cliente1[I].Rua);
Writeln(Cliente1[I].Bairro);

End;



End.

Editado por dif
Tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Program minibancodedados;
Type Cliente=Record
Nome,Rua,Bairro:string[40];
Idade: integer;
Sexo: string;
end;
Var
Cliente1: array [1..5] of Cliente;
I:integer;
opcao: char;
nome:string;
conf:=boolean;


Begin
conf:=false;
For I:= 1 to 2 do
Begin
Writeln ('---------------------------');
Writeln ('Digite o nome do cliente');
readln(Cliente1[I].Nome);
Writeln ('Digite a idade do cliente');
readln(Cliente1[I].Idade);
Writeln('Digite o sexo do cliente');
readln (Cliente1[I].Sexo);
Writeln('Digite a rua onde o cliente mora');
readln(Cliente1[I].Rua);
Writeln('Digite o Bairro onde o cliente mora');
readln(Cliente1[I].Bairro);
End;
ClrScr;

Repeat
Writeln('Informe o nome do usuário');
Readln(nome);
I:=1;
Repeat
If (nome=Cliente1[I].Nome) Then
Begin
conf:=true;
break;
End;
I:=I+1;
Until ((conf:=True)or(I>2));
If (conf=true) Then
Begin
Writeln(Cliente1[I].Nome);
Writeln(Cliente1[I].Idade, 'anos');
Writeln(Cliente1[I].Sexo);
Writeln(Cliente1[I].Rua);
Writeln(Cliente1[I].Bairro);
End
Else
Writeln('Usuário Não Encontrado');


End.

Tenta isso. Cara você tava lendo integer.

Editado por dif
Inserir a tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Estou tentando mas está dando erro, acho que é por causa do 1° repeat que não tem um until. Está dando erro sintatico no END.

    Consegui fazer o programa rodar =D está funcionando direitinho! obrigado! Grande ajuda mesmo! Estou vendo agora se coloco ele pra exibir mais de um usuário xD estou agora num jogo sobre o que colocar no Until do 1° repeat para que eu consiga Exibir mais de um usuario sem que dê algum bug.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Olá Raphael, ;)

    Estou tentando mas está dando erro, acho que é por causa do 1° repeat que não tem um until. Está dando erro sintatico no END.

    Consegui fazer o programa rodar =D está funcionando direitinho! obrigado! Grande ajuda mesmo! Estou vendo agora se coloco ele pra exibir mais de um usuário xD estou agora num jogo sobre o que colocar no Until do 1° repeat para que eu consiga Exibir mais de um usuario sem que dê algum bug.

    Realmente, você poderá ter mais de um cliente com o mesmo nome e seria bom exibi-los. Vou passar umas dicas..

    Você poderia usar um laço for para percorrer todo o vetor (de 1 a 5, nesse caso) de clientes e ir testando pelo nome de cada cliente. Se o nome procurado for igual a de um cliente cadastrado, você exibe os dados. Mas você também precisa notificar caso nenhum cliente seja encontrado. Então, você poderia criar uma variável achou (um Boolean) e colocá-la inicialmente como false e mudar para true caso algum cliente seja encontrado. Feito isso, se você não achar nenhum cliente, você poderá (fora do laço) testar 'se achou' para indicar a mensagem 'Cliente não encontrado' ou não.

    Qualquer dúvida é só postar.

    Um abraço,

    LNW

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×