Ir para conteúdo
Fórum Script Brasil
  • 0

Algoritmo para Controle de Preso


Martinsrj

Pergunta

Olá pessoal, beleza?

Estou dando os primeiros passos na programação, mas estou com algumas dificuldades, principalmente em registro e vetor.

Estou fazendo faculdade e a prova vai ser na Terça-feira agora.

Teve uma questão da prova que dizia o seguinte:

Fazer um programa que realiza o cadastro de preso com os tipos: nome, idade, peso e a pena.

O programa deve ter os seguinte menu: 1- Cadastro, 2- Consulta e 3 pra sair do programa.

Tentei fazer, porem está dando o erro.

Gostaria da ajudar dos mais experientes na utilização de registro e vetor e tb na modularização do programa, pois a prova exige que seja modularizado.

Abaixo está o programa que eu tentei fazer, porem está com erros.

program penetenciario;

uses

crt;

type

reg = record

nome: string;

peso, pena, idade: integer;

end;

vet = array [1..4]of reg;

procedure menu (var op: integer);

begin

repeat

clrscr;

writeln ('----- Menu de Op‡äes -----');

writeln ('1- Cadastro de Preso');

writeln ('2- Consulta preso');

writeln ('3- Sair');

readln (op);

until (op >= 1) and (op <=3);

end;

function busca (nomedopreso: string; x: vet): integer;

var i: integer;

begin

busca := 0;

for i:= 1 to 5 do

if x.nome = nomedopreso

then busca := i;

end;

procedure cadastro (var cad: reg);

begin

writeln ('Digite o nome:');

readln (cad.nome);

writeln ('Digite o peso');

readln (cad.peso);

writeln ('Digite a pena (s¢ numero)');

readln (cad.pena);

writeln ('Digite a idade');

readln (cad.idade);

end;

procedure consulta (var x:vet);

var

cons: reg;

retaguarda: integer;

i: integer;

begin

clrscr;

writeln ('Digite o nome do preso para consulta:');

readln (cons.nome);

retaguarda:= busca(cons.nome, x);

if retaguarda = 0

then begin

writeln ('Preso nÆo encontrado');

readkey;

end

else begin

writeln (cons.nome);

writeln (cons.idade);

end

end;

var {variaveis globais}

opcao: integer;

g_cad: vet;

bd: vet

begin

clrscr;

repeat

menu (opcao);

if opcao = 1

then cadastro(g_cad)

else if opcao = 2

then consulta(bd);

until opcao = 3;

end.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Cara sua declaração de variáveis não esta correta...

Type Reg=record
        Nome:string[50];
        idade: string[8]
        peso:string[5];
        pena: string[10];
        end;
 vet = array [1..4] of reg;
{você tem que declara as variáveis antes das procedures e Functions}
var {variaveis globais}
opcao: integer;
g_cad, bd: vet;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...