Ir ao conteúdo
  • Cadastre-se
varjal

Ajuda com Problema em Pascal

Recommended Posts

Escrevam um programa que possui um cadastro de 5 pessoas, composto por 3 vetores: um para nomes (string), outro para idades (integer) e outro para o sexo (char);
O programa inicialmente irá cadastrar as pessoas, sempre solicitando ao usuário os dados referentes ao nome, idade e sexo da pessoa, armazenando nos vetores;
Após os vetores estarem preenchidos, o programa exibirá um menu com as seguintes opções:
Escolha uma das opções abaixo:
A  seguir, um exemplo de funcionamento do programa:
1 - Imprimir Pessoas
2 - Imprimir maiores que 18 anos
3 - Imprimir por Pessoa
4 - Imprimir por Sexo
5 – Sair
Nesta etapa, o programa irá repetir os procedimentos acima até que a opção informada pelo usuário for igual a 5, quando então encerra e exibe a mensagem: “Fim do Programa”
Apenas serão considerados válidos os códigos que apresentarem corretamente:
Estrutura de repetição (For, While ou Repeat);
Estrutura Condicional (IF THEN ELSE ou Case)
 

Isso foi o que consegui fazer, mas esta cheio de bronca:

Program Pzim ; var nome: array [1..5] of string; idade: array [1..5] of integer; sexo: array  [1..5] of char; l,i,c,a,b: integer; //contadores opsao:integer; NOME_INFORMADO: STRING  ; SEXO_INFORMADO: CHAR; Begin    for l:= 1 to 5 do  begin   writeln('DIGITE O NOME DA PESSOA:');   READ(NOME[L]) ;   writeln('DIGITE A IDADE DA PESSOA:');   READ(IDADE[L]) ;   writeln('DIGITE SEXO( F OU M ) DA PESSOA:');   READ(SEXO[L]) ;  end;   //-------------------------------------------------  repeat   WRITELN('DIGITE A OPÇÃO DESEJADA:');  WRITELN('1 - Imprimir Pessoas');  WRITELN('2 - Imprimir maiores que 18 anos');  WRITELN('3 - Imprimir por Pessoa');  WRITELN('4 - Imprimir por Sexo');  WRITELN('5 – Sair');  readln (opsao);           case opsao of    1: BEGIN       for l:= 1 to 5 do       writeln (nome[l],' - ',idade[l],' - ',sexo[l]) ;     END;       2: BEGIN       for l:= 1 to 5 do      begin       if idade[l] >= 18 then       writeln (nome[l],' - ',idade[l],' - ',sexo[l]) ;      end;     END;       3:  begin      writeln ('DIGITE O NOME DA PESSOA:');      READ(NOME_INFORMADO) ;      for l:= 1 to 5 do        begin          if (NOME_INFORMADO = (NOME[L])) then          writeln (nome[l],' - ',idade[l],' - ',sexo[l]) ;        end;      end;    4: begin      writeln ('DIGITE O SEXO DA PESSOA:');      READ(SEXO_INFORMADO);      for l:= 1 to 5 do       begin        if (SEXO_INFORMADO = (SEXO[L])) then        writeln (nome[l],' - ',idade[l],' - ',sexo[l]) ;       end;      end;     5: WRITELN('FIM DO PROGRAMA...') ;  end;  until opsao = 5 ; End.

post-765976-0-27037300-1431325932_thumb.

post-765976-0-74046300-1431325957_thumb.

post-765976-0-08665200-1431326023_thumb.

post-765976-0-40068000-1431326024_thumb.

post-765976-0-57268800-1431326025_thumb.

post-765976-0-80281600-1431326026_thumb.

post-765976-0-90330500-1431326027_thumb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As leituras aqui funcionaram, tirando o sexo que não funcionada o read (eu tive que ler duas vezes a mesma variável).

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×