Ir ao conteúdo

Posts recomendados

Postado

Olá tenho um enunciado que diz o seguinte: 

Crie um programa em PASCAL que realize o cadastro de alunos de uma escola. Primeiramente, o programa deverá ler um valor válido para a variável n no intervalo [3,40], a qual indicará a quantidade de alunos a serem lidos. Cada aluno precisa ter os seguintes dados (registro): (i) matrícula - integer; (ii) nome – 30 caracteres;  (iii)  telefone  – 20  caracteres. Os dados  deverão ser armazenados em uma lista encadeada, cuja a inserção de cada elemento deverá ser no início da lista. Após a conclusão do cadastro dos alunos na lista, exibir os dados de todos os n alunos percorrendo a lista encadeada.

criei um código mas estou com duvida se ele atende o que se pede quem puder mim ajudar fico muito agradecido. segue o código abaixo:

program at_pratica_cadastro;
// Autor: Ronildo Sousa // Disciplina: Linguagem de Programação I

uses crt;


type

Cad_Aluno = record
  matricula : integer;
  nome : string[30];
  tel : string[20];
  
end;

var

Reg_Vet : array[3..40] of Cad_Aluno;
i,n : integer;

begin
  writeln('Informe a quantidade de alunos a cadastrar:');
  readln(n);
  if (n>=3) and (n<=40) then
  begin
    for i:=3 to n do
    
    begin
      
      clrscr;
      write('Cadastro de Alunos');
      writeln;
      writeln;
      write('Matricula: ');
      read(Reg_Vet[i].matricula);
      writeln;
      write('Nome: ');
      read(Reg_Vet[i].nome);
      writeln;
      write('Telefone: ');
      read(Reg_Vet[i].tel);
      writeln;
    end;
    
    begin
      
      clrscr;
      writeln('OS DADOS INSERIDOS FORAM');
      for i:=3 to n do
      
      begin
        
        writeln;
        write('Matricula: ');
        writeln(Reg_Vet[i].matricula);
        writeln;
        write('Nome: ');
        writeln(Reg_Vet[i].nome);
        writeln;
        write('Telefone: ');
        writeln(Reg_Vet[i].tel);
        writeln;
        
      end;
      
    end
  end
  else
  begin
    writeln('VALOR INVÁLIDO');
  end;
end.

 

  • Membro VIP
Postado

Olá @Patriota_Programador.

 

Vamos lá:

 

Em 13/12/2017 às 12:04, Patriota_Programador disse:

Primeiramente, o programa deverá ler um valor válido para a variável n no intervalo [3,40]

 

Daí você está usando:

Em 13/12/2017 às 12:04, Patriota_Programador disse:

var
  Reg_Vet : array[3..40] of Cad_Aluno;

Tem um pequeno equívoco, pois esse "intervalo de 3 a 40" refere-se à:

 

Em 13/12/2017 às 12:04, Patriota_Programador disse:

quantidade de alunos a serem lidos

ou seja, o vetor vai de 1 a X... Esse "3 a 40" se refere ao X. (ex.: de 1 a 6, de 1 a 32 etc). No seu contexto, o vetor iria de 1 a 40. (ou 0 a 39)

 

 

 

Daí também fica faltando o principal:

Em 13/12/2017 às 12:04, Patriota_Programador disse:

Os dados  deverão ser armazenados em uma lista encadeada, cuja a inserção de cada elemento deverá ser no início da lista

 

Cadê a lista encadeada?

 

 

 

No aguardo.

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!