Ir ao conteúdo
  • Cadastre-se

Enrique Leandro

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

1
  1. Fala pessoal eu sou o Patch, durante meu programa de fim de ano de pascal eu me encontrei com um erro estranho no código, ele rodava o menu apenas uma vez e depois o mesmo saia do programa por razao nenhuma, e sim o meu código estava correto, o programa saia sem os requerimentos do until serem preenchidos segue o código a seguir: Alguém me explica o por que do erro, eu comentei a parte que faltava pro código funcionar corretamente. program trabestevan; type ficha = record nome,Genero,cpf : string; idade,qtdEnd,qtdTel: integer; endereco:array [1..3] of string; telefone:array [1..3] of string; end; var Pessoa : array [1..100] of ficha; finish,sel,margem,escolha,Psel,qtdEnd,qtdTel : integer; begin margem:=0; finish:=1; // SEM ESTA LINHA NO CODIGO O PROGRAMA EXECUTAVA A OPCAO 1 E SAIA SOZINHO IGNORANDO O REPEAT AI EU COLOQUEI ISSO E RESOLVEU MAS POR QUE? repeat writeln('Bem Vindo ao Programa de Agenda'); writeln('Menu :'); writeln('1 - Cadastrar Nova Pessoa'); writeln('2 -Cadastrar Endereço Extra'); writeln('0 - Sair do Programa'); readln(sel); while (sel < 0) or (sel > 2) do begin writeln('Menu :'); writeln('1 - Cadastrar Nova Pessoa'); writeln('2 -Cadastrar Endereço Extra'); writeln('0 - Sair do Programa'); readln(sel); end; if (sel = 1) then begin margem:= margem + 1; writeln('Insira o Nome da nova Pessoa a ser Cadastrada :'); readln(Pessoa[margem].nome); writeln('Insira o Endereço :'); Pessoa[margem].qtdEnd:=1; qtdEnd:=1; qtdTel:=1; readln(Pessoa[margem].endereco[qtdEnd]); Pessoa[margem].qtdTel:=1; writeln('Insira o Telefone, "(xx) xxxxx-xxxx "'); readln(Pessoa[margem].telefone[qtdTel]); writeln('Insira seu CPF, "xxx.xxx.xxx-xx"'); readln(Pessoa[margem].cpf); writeln('Insira a Idade'); readln(Pessoa[margem].idade); writeln('Selecione o Sexo'); writeln('1- Masculino'); writeln('2- Feminino'); readln(escolha); while (escolha <=0) or (escolha > 2) do begin writeln('Selecione o Sexo'); writeln('1- Masculino'); writeln('2- Feminino'); readln(escolha); end; if (escolha = 1) then begin Pessoa[margem].genero:= 'Masculino'; end else if (escolha = 2) then begin Pessoa[margem].genero:='Feminino'; end; end else if (sel = 2) then begin writeln('Número de Pessoas Cadastradas: ',margem); writeln('Insira a Posição Numérica da pessoa que irá receber o Novo Endereço :'); readln(Psel); while (Psel < 1) or (Psel > margem) do begin writeln('Numero não existe no vetor'); writeln('Insira a Posição Numérica da pessoa que irá receber o Novo Endereço :'); readln(Psel); end; qtdEnd:= Pessoa[Psel].qtdEnd; if (qtdEnd = 3) then begin writeln('Esta Pessoa já Possui o Máximo de Endereços no Servidor'); end else if (qtdEnd < 3) then begin qtdEnd:= qtdEnd + 1; Pessoa[Psel].qtdEnd:= qtdEnd; writeln('Insira o Novo Endereço'); readln(Pessoa[Psel].endereco[qtdEnd]); end; end else if (sel = 3) then begin writeln('Insira o Numéro de Usuário que terá o Novo Telefone Adicionado a Conta'); readln(Psel); while (Psel < 0) or (Psel > margem) do begin writeln('Pessoa Não consta em Nosso Vetor'); writeln('Insira o Numéro de Usuário que terá o Novo Telefone Adicionado a Conta'); readln(Psel); end; qtdTel:= Pessoa[Psel].qtdTel; if (qtdTel = 3) then begin writeln('Usuário Já Possui o Máximo de Telefones'); end else if (qtdTel < 3) then begin qtdTel:= qtdTel + 1; Pessoa[Psel].qtdTel:= qtdTel; writeln('Insira o Novo Número de Telefone'); readln(Pessoa[Psel].telefone[qtdTel]); end; end else if (sel = 0) then begin finish:=0; end; writeln('Pressione qualquer tecla pra continuar'); readln(); until (finish=0); end.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...