Cadastro de Passagens Aéreas
Publicado por Ivan Rocha 01/12/2006
[ Hits: 9.291 ]
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.
mostrar a meior e a menor temperatura do ano com vetor
Script que verifica se um número é primo ou não
vendas de uma empresa em matriz
Calculadora utilizando until e case
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









