Ir ao conteúdo
  • Cadastre-se

Ajuda com Problema em Pascal


Posts recomendados

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.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...