Cadastro de Passagens Aéreas
Publicado por Ivan Rocha 01/12/2006
[ Hits: 9.008 ]
Homepage: http://homes.dcc.ufba.br/~ivan062/bahia
Pequeno programa que faz uma simulação de um sistema de passagens no aeroporto.
program passagensaereas; uses crt; type dados= record num_avi {numero do aviao}: integer; nome: string[30]; end; var avi: array[1..4] of integer; lug: array[1..4] of integer; reservas: array[1..60] of dados; i, pos_livre, op {operacao}, achou, numero, posi: integer; pessoa: string[30]; begin {Iniciando as variaveis com 0...} for i:=1 to 4 do avi[i]:=0; lug[i]:=0; for i:=1 to 60 do begin reservas[i].num_avi:=0; pos_livre:=1 {como ninguem comprou passagem ainda, sobra uma posicao vaga} end; repeat writeln('Menu de opcoes:'); writeln('1- Cadastrar os numeros dos avioes.'); writeln('2- Cadastrar os lugares disponiveis em cada aviao.'); writeln('3- Reservar passagem.'); writeln('4- Consultar pelo numero do aviao.'); writeln('5- Consultar pelo nome do passageiro.'); writeln('6- Finalizar.'); read(op); if op=1 then begin for i:=1 to 4 do {numerando cada aviao} begin write('Digite o numero do ',i,'o aviao: '); read(avi[i]); end end; if op=2 then begin for i:=1 to 4 do {informando o numero de lugares em cada aviao} begin write('Digite o numero de lugares disponiveis no ',i,'o aviao: '); read(lug[i]); end end; if op=3 then begin write('Digite o numero do aviao no qual deseja efetuar a reserva: '); readln(numero); if pos_livre>60 then {quando o numero de reservas chegar a 60, nao terao mais reservas disponiveis. vide linha 75.} begin write('Reservas em todos os avioes esgotadas.'); end else begin achou:=0; for i:=1 to 4 do begin if avi[i]= numero then {executa o loop ate o numero digitado corresponder ao aviao.} begin achou:=1; posi:=i {como i vai de 1 a 4, ele carrega 4 posicoes.} end end; if achou=0 then {se o numero digitado antes nao for entre um e 4, ele alega que nao existe o aviao requerido} begin write('Nao existe esse aviao.'); end else if lug[posi]=0 then {vide linha 76.} write('Aviao lotado!') else begin write('Digite o nome do passageiro: '); readln(pessoa); reservas[pos_livre].num_avi:=numero; {cadastra o nome do passageiro e o numero do aviao} reservas[pos_livre].nome:=pessoa; write('Reserva efetuada com sucesso!'); pos_livre:=pos_livre+1; {pos_livre vai aumentando ate chegar em 60, quando acabarao as reservas.} lug[posi]:= lug[posi]-1; {conforme o loop, cada cadastro feito, diminui o numero de vagas} end end end; if op=4 then begin write('Digite o numero do aviao do qual deseja consultar as reservas: '); read(numero); achou:=0; for i:=1 to 4 do {executa o loop de 1 a 4 ate ser igual ao numero digitado} begin if avi[i]=numero then achou:=1; end; if achou=0 then write('Nao existe esse aviao!') else begin achou:=0; {reinicializa variavel achou como 0} for i:=1 to (pos_livre-1) do {executa o loop ate o numero que ficou gravado no passo 3, dependendo do numero de cadastros que foi feito la.} begin if reservas[i].num_avi=numero then {lista os passageiros do aviao correspondente ao numero digitado(linha 98)} begin writeln(reservas[i].nome); achou:=1 end; end; if achou=0 then write('Nenhuma reserva esta cadastrada para ese aviao.'); end; end; if op=5 then begin write('Aperte uma tecla para ativar e depois digite o nome do passageiro do qual deseja consultar as reservas: '); readln(pessoa); readkey; read(pessoa); achou:=0; begin for i:=1 to (pos_livre-1) do begin if reservas[i].nome=pessoa then {quando nome digitado for igual ao nome na memoria, ele informa o aviao no qual esta feita a reserva pela pessoa.} begin writeln('Aviao ',reservas[i].num_avi,'.'); achou:=1 end end; if achou=0 then {se o nome digitado nao tiver na memoria, ele nao fora cadastrado, e ai aparecera a mensagem abaixo.} write('Nenhuma reserva esta cadastrada para esse nome.'); end; end; until op=6; end.
calculo de porcentagem em vetores
Criptografador(Conceito criptografia)Lazarus
diferença entre o maior e o menor numero
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)