Cadastro de Passagens Aéreas
Publicado por Ivan Rocha 01/12/2006
[ Hits: 9.234 ]
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.
Números primos (usando arrays)
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)









