não consigo fazer a verificação que o assento esta ocupado , e também quando você cadastra um passageiro e sai do laço não consigo entrar em uma segunda poltrona e assim toda vez que cadastra um novo passageiro é no espaço cadastrao anterior.
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define max 86 int opcao; char fila; const int TRUE=1; struct cadastro{ char nome[25]; char nascimento[10]; int idade; float valor_pago; char tipo,sexo; int polt[max];}passageiro[max];int reservar(){ int classe,i; for(i=0; i<86; i++) { system("cls");//Limpa Tela printf("Escolha [B]Classe Executiva e [Y]Classe Economica\n"); fflush(stdin); printf("\nClasse: %n\n"); classe = getche (); switch(classe) { case'B': case'b': system("cls"); printf("\n Bem vindo A Classe Executiva \n"); printf("\nInforme a Fila de A a D \n"); scanf("%c", &fila); printf("\nInforme a poltrona \n"); scanf("%d", &passageiro[i].polt); if(passageiro[i].polt[0] = NULL){ cadastro(); } else{ printf("\nPoltrona Ocupada\n"); } case'Y': case'y': system("cls"); printf("\n Bem vindo a Classe Economica \n"); printf("\nInforme a Fila de A a D \n"); scanf("%c", &fila); printf("\nInforme a poltrona \n"); scanf("%d", &passageiro[i].polt); cadastro(); } } } void Alterar() { system("cls"); // limpa a tela int i; printf("Digite o Nome do Passageiro \n"); fflush(stdin); // Retira o Lixo do Teclado gets(passageiro[i].nome); printf("Digite o Numero da Poltrona \n"); scanf("%d", &passageiro[i].polt); puts("Informe o Nome "); fflush(stdin); gets(passageiro[i].nome); printf("\nInforme M para Masculino e F para Feminino \n"); fflush(stdin); scanf("%s",&passageiro[i].sexo); printf("\nInforme a Idade \n"); scanf("%d", &passageiro[i].idade); printf("\nInforme a Data de Nascimento \n"); scanf("%s", &passageiro[i].nascimento); printf("\nValor Pago \n"); scanf("%f", &passageiro[i].valor_pago);} // fim da segunda Funçãovoid consultar(){ system("cls"); int i; printf("Passageiros Cadastrados:\n\n"); for(i=0; i<20; i++) { printf("fila: %c - poltrona: %d Nome Passageiro: %s \n",fila,passageiro[i].polt,passageiro[i].nome);// Consulta dos Passageiros Cadastrados } } int cancelar() { system("cls"); // limpa a tela int i; printf("Informe o Nome do Passageiro \n"); fflush(stdin); scanf("%s",&passageiro[i].nome); passageiro[i].nome[25] = '\0'; passageiro[i].nascimento[10] = '\0'; passageiro[i].idade = '\0'; passageiro[i].sexo = '\0'; passageiro[i].tipo = '\0'; passageiro[i].valor_pago = '\0'; printf("DADOS APAGADOS COM SUCESSO!\n"); } int menu() { printf("\n 1 - Reservar"); printf("\n 2 - Alterar"); printf("\n 3 - Cancelar"); printf("\n 4 - Consultar\n"); printf("\nOpcao: %n\n"); scanf("%d",&opcao);} int main() { int i; while(TRUE) { system("cls"); menu();// CHAMA O MENU switch(opcao) { case 1: reservar(); break; case 2: Alterar(); break; case 3: cancelar(); break; case 4: consultar(); break; } system("pause"); } return 0; }int cadastro(int i){ printf("\nInforme o Nome \n "); fflush(stdin); gets(passageiro[i].nome); printf("\nInforme M para Masculino e F para Feminino \n"); fflush(stdin); scanf("%s",&passageiro[i].sexo); printf("\nInforme a Idade \n"); scanf("%d", &passageiro[i].idade); printf("\nInforme a Data de Nascimento xx/xx/xxxx \n"); scanf("%s", &passageiro[i].nascimento); printf("\nValor Pago \n"); scanf("%f", &passageiro[i].valor_pago); }