Cadastro de Passagens Aéreas
Publicado por Ivan Rocha 01/12/2006
[ Hits: 8.875 ]
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.
Transformação entre as escalas térmicas Kelvin, Fahrenheit e Celcius
Script que verifica se um número é primo ou não
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Dongle Bluetooth 5.0 não funciona no Pop Os 22.04 (0)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (24)
Placamae Asus H510M-E Aceita Linux? [RESOLVIDO] (9)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba