Cadastro de Passagens Aéreas
Publicado por Ivan Rocha 01/12/2006
[ Hits: 8.985 ]
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.
Função Fatorial Recursiva em Ada 95
Editor de Texto feito no Lazarus(Delphi 7 para Linux)
Cronômetro feito no Lazarus(Delphi 7 para Linux)
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhorando a precisão de valores flutuantes em python[AJUDA] (7)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (4)
É cada coisa que me aparece! - não é só 3% (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta