Cadastro de vôos - Empresa Aérea
O objetivo de tudo é desenvolver um sistema que mantém uma gestão de bilhetes aéreos e das informações contidas no sistema.
E o mesmo está representado por um menu.
Imagem do menu:
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inCOd/751455565d.png&key=9e8a63b3b15d2425e75bb23af3a875562c99603727ab94c2f1a4c17c3fa0178a" alt="751455565d.png" />
Até então, OK!
A opção 1 foi feita sem problemas, a opção 2 também.
Imagem da opção 2 rodando.
obs: (eu,como usuário, que cadastrei essas informações).
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inD03/b57e7aabbd.png&key=885349a61ab4cd97445666a084f12c8f0af2c25de8649f4840cf53e3e4b84225" alt="b57e7aabbd.png" />
Voltei para o Menu Principal, e agora entrei na opção 3, que é efetuar uma venda de bilhete.
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inDau/973b77ed40.png&key=b0f2732d35dc9650600a4e1862ff9770caab20c386f701c22d64cc46fa759981" alt="973b77ed40.png" />
Após comprar o bilhete, voltamos para o Menu principal.. e aí, vou visualizar se diminuiu as poltronas do voo que acabei de vender.
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inDfr/c407b39afa.png&key=fe0c4e9b42bbf8bd7b624a4c0159df926c94c6d8d001e39d98c6fa4004cd0c8a" alt="c407b39afa.png" />
Até aqui ok (aparentemente).. Foi vendido um bilhete e subtraiu 1 nas poltronas livres do voo 1..
Porém, quando tento comprar para o vôo 2, ele subtrai as poltronas do voo 1 ao invés de subtrair as poltronas do voo 2.
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inDmt/41501f3e8e.png&key=a69a5914fd2ec72fdf5be723e06f559e71213f14c4ab024dafd6da2a981d16ce" alt="41501f3e8e.png" />
Volto p/ o menu e vou na opção 2 e vejo que nao comprei ticket para o voo 2, e sim subtraiu no voo 1.
O que fazer ?? já revisei todo o código e não encontro o erro.
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inDoV/cb3e759378.png&key=dfc7202b896e278598adc6e2dc9f53f86dfc4c08dec2484efb79c6942f7b368c" alt="cb3e759378.png" />
Outro erro é na opção 4, quando tento consultar os bilhetes vendidos, insiro um CPF existente e fala
que não foi localizado.
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inDx8/74955c4038.png&key=7f2af4fc1a5aaf4b096438d05f3547bf24739655aea018660c683005e56132ac" alt="74955c4038.png" />
E quando aparece.. Aparece assim.. Bugado! :pinch: :upset:
E ainda começa do ticket nº 10, devia começar de 1.
/applications/core/interface/imageproxy/imageproxy.php?img=http://puu.sh/inDCw/d6650aa210.png&key=36f6dada100e8b0219524a752cdff6a42484dee200851b1103209d23859e31a9" alt="d6650aa210.png" />
CÓDIGO ABAIXO:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
int cont,y,z,i,f; // variáveis globais de controle (contador para cadastro de vôos e etc).
typedef struct CadastroNovoVoo{ //estrutura (struct) para armazenar variáveis.
char origem_voo[50];
char destino_voo[50];
int capacidade_maxima;
} NovoVoo;
typedef struct Comprartickets{
char nome[60];
char cpf[16];
int numvoo;
int numticket;
} Comprar_tickets;
NovoVoo nv[5]; //assinando a struct.
Comprar_tickets ct[10]; // assinando a struct.
void Cadastrovoo(){ // função para cadastro de vôos.
system("cls");
fflush(stdin);
printf("Digite a origem do voo %d: ",cont+1);
gets(nv[cont].origem_voo);
fflush(stdin);
printf("\n");
printf("Digite o destino do voo %d: ",cont+1);
gets(nv[cont].destino_voo);
fflush(stdin);
printf("\n");
printf("Digite a capacidade maxima de passageiros: ");
scanf("%d",&nv[cont].capacidade_maxima);
printf("\n\n\t\t\t >>> Vôo [%d] cadastrado com sucesso !! <<< \n\n",cont+1);
cont++;
}
void Info_voos(){ //função para informar os vôos cadastrados.
for(y=0;y < cont;y++){
printf("Voo %d:\n",y+1);
printf("Origem: %s -> Destino: %s\n",nv[y].origem_voo,nv[y].destino_voo);
printf("Poltronas livres: %d\n",nv[y].capacidade_maxima);
printf("**************\n\n");
}
}
void ComprarBilhetes(){ // função para a compra de bilhetes.
printf("Digite seu nome: ");
scanf("%s",&ct[z].nome);
fflush(stdin);
printf("\n");
printf("Digite seu CPF: ");
gets(ct[z].cpf);
printf("\n");
printf("Digite o numero do voo: ");
scanf("%d",&ct[z].numvoo);
printf("\n");
ct[z].numvoo += -1;
if (nv[ct[z].numticket].capacidade_maxima >= 1) {
printf("\n\t\t\tParabéns!! Bilhete comprado com sucesso.");
nv[ct[z].numticket].capacidade_maxima --;
ct[z].numticket = z*z+10;
z++;
}else{
printf("\nDesculpe, não há poltronas livres :( .");
}
}
void BilhetesVendidos(){
char verificar_cpf[16];
fflush(stdin);
printf("Digite seu CPF: ");
gets(verificar_cpf);
for(i=0;i < z;i++){
if(strcmp(ct[i].cpf,verificar_cpf)==0){ //comparando cpf com o comando "strcmp" da bibliote string.h
printf("\nTicket nº: %d", ct[i].numticket);
printf("\nNome: %s", ct[i].nome);
printf("\nCPF: %s", ct[i].cpf);
printf("\nNúmero do Vôo: %d", ct[i].numvoo+1);
}else{
printf("\nInfelizmente, o CPF não foi localizado.");
break;
}
}
}
main(){
setlocale(LC_ALL,"Portuguese"); // Definição para uso de configurações em português.
int opcao;
do{
system("cls");
printf("\t\t\t**** COMPANHIA AEREA I.G.M. **** \n\n");
printf("\t\t\t#### SEJA BEM VINDO(A) #### \n");
printf(":: Menu de Opções ::\n\n");
printf("1 - Cadastrar um novo vôo\n");
printf("2 - Visualizar informações de vôos\n");
printf("3 - Realizar vendas de bilhetes\n");
printf("4 - Consultar bilhetes vendidos\n");
printf("5 - Cancelar Bilhetes\n");
printf("6 - Relatório de passageiros por vôo\n");
printf("7 - Encerrar o sistema\n\n");
printf("Escolha uma opção: ");
scanf("%d",&opcao);//printf("\a"); // beepzinho.
system("cls");
switch(opcao){
case 1: //cadastrar um novo voo
Cadastrovoo();
printf("\n\n");
system("pause");
break;
case 2: //Visualizar informações de vôos
Info_voos();
printf("\n\n");
system("pause");
break;
case 3: //Realizar vendas de bilhetes
ComprarBilhetes();
printf("\n\n");
system("pause");
break;
case 4:
BilhetesVendidos();
printf("\n\n");
system("pause");
break;
/*case 5:
cancelartickets();
printf("\n\n");
system("pause");
break;
*/
}
}while(opcao != 7);
system("pause");
return 0;
}Discussão (2)
Carregando comentários...