Ir ao conteúdo
  • Cadastre-se

Caio Pimentel_741190

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Amigos, boa tarde! Eu estou precisando de uma ajuda de vocês com o codigo abaixo, eu estou desenvolvendo uma estrutura da dados, e dentro do menu tem as seguintes opções. 1 - Inserir um Aluno 2 - Busca um Aluno pelo Cpf 3 - Busca um Aluno por Periodo 4 - Atualiza o Periodo do Aluno 5 - Apaga um Aluno 9 - Sair o meu problema é que até agora eu só consegui resolver apenas o INSERIR, APAGAR UM ALUNO. eu tenho até amanha para entregar este código, por gentileza, quem puder me ajudar eu agradeco. Program Cadastro_Alunos;constinicia = 1;Tam_Max = 50;TypeApontador = integer; // ApontarTipo_Aluno = record // Registra os Dados dos AlunosNome: string [10];Cpf: real;Periodo: integer;end;Lista_Alunos = recordAluno: array [1..Tam_Max] of Tipo_Aluno; // Lista de AlunosInicio:Apontador; // Apontar para InicioFim:Apontador; // Apontar para o Fimend;procedure FLvazia (var Lista:Lista_Alunos); // Fila da Lista VaziabeginLista.Inicio:= inicia;Lista.Fim:= Lista.Inicio;end;function Vazia (var Lista:Lista_Alunos):boolean; // VaziabeginVazia:= Lista.Inicio= Lista.Fim;end;procedure Insere (x:Tipo_Aluno; var Lista:Lista_Alunos); // Inserirbeginif Lista.Fim > Tam_Max thenwriteln ('Lista esta Cheia')elsebeginLista.Aluno[Lista.Fim]:= x;Lista.Fim:= Lista.Fim + 1;end;end;procedure Insere_menu(var Lista:Lista_Alunos);var estudante:Tipo_Aluno;beginwriteln('Digite o nome do aluno:');readln(estudante.nome);writeln('Digite o Cpf do aluno:');readln(estudante.Cpf);writeln('Digite o Periodo do aluno:');readln(estudante.Periodo);Insere(estudante,Lista)end;// Retiraprocedure Retira (p:Apontador; var Lista:Lista_Alunos; var Aluno:Tipo_Aluno);var Aux:integer;beginif Vazia(Lista) or (p >= Lista.Fim) thenwriteln ('Erro: posicao nao Existe')elsebeginAluno:=Lista.Aluno[p];Lista.Fim:= Lista.Fim-1;for Aux:= p to Lista.Fim-1 doLista.Aluno[Aux]:= Lista.Aluno[Aux+1]end;end;// Imprimirprocedure Imprime (var Lista:Lista_Alunos);var Aux : integer;beginfor Aux := Lista.inicio to Lista.Fim-1 dobeginwriteln ('Aluno:',Lista.Aluno[Aux].Nome );writeln ('Cpf:',Lista.Aluno[Aux].Cpf );writeln ('Periodo:',Lista.Aluno[Aux].Periodo );write(' ');end;writeln(' ');end;//Procedimento q está dando errofunction busca_simples (num:integer; Lista:Lista_Alunos; Tam_Max:integer): integer;var i: integer;beginfor i := 1 to Tam_Max doif (Lista[i] = i) then busca_simples:=i;i:=i+1;end;varlistaInt:Lista_Alunos;temp: Tipo_Aluno;aux, Opcao, num: integer;Begin// MenuOpcao:=0;FLvazia(listaInt);Imprime(listaInt);while (Opcao<>9) dobeginclrscr;writeln ('Seja Bem Vindo!!!');writeln (' ');writeln ('Escolha umas das opções:');writeln (' ');writeln ('1 - Inserir um Aluno:');writeln ('2 - Busca um Aluno pelo Cpf:');writeln ('3 - Busca um Aluno por Periodo:');writeln ('4 - Atualiza o Periodo do Aluno:');writeln ('5 - Apaga um Aluno:');writeln ('9 - Sair:');read (Opcao);// Inserir um Alunoif (Opcao=1) thenbeginInsere_menu(listaInt);end;{ if (Opcao=2) thenbeginwriteln ();Write ('Digite o Numero do Cpf que deseja Busca:');readln (num);write ('O Numero', num , 'Esta na Posicao:', busca(num, listaInt,Tam_Max));end;if (Opcao=3) thenbeginwriteln ();Write ('Digite o Periodo que deseja Busca:');readln (num);write ('O Numero', num , 'Esta na Posicao:', busca(num, listaInt,Tam_Max));end;if (Opcao=4) thenbeginend; }if (Opcao=5) thenbeginWrite ('Digite o Aluno que deseja Excluir:');readln (temp.Nome);Retira (2, listaInt,temp);end;Imprime(listaInt);end;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...