Red de conocimiento informático - Conocimiento informático - ¿Cómo programar para realizar reservas automáticas?

¿Cómo programar para realizar reservas automáticas?

#Incluir " stdafx.h "

# incluir & ltiostream & gt

Usar espacio de nombres std

# incluir & ltwindows.h & gt

#define cls() (system( "cls "))

const int MaxNum = 101;

const int num = 50

estructura typedef Asiento

{

int Asiento_ID

bool isBook

char Libro_Nombre[num];

char Booker _ ID[num];

};

Estructura Typedef FlightInfo //Información del vuelo

{

char Start _ pos [num];

char End_pos[num];

char Flight_ID[num];

char Flight_Time[num]; asiento información de asiento[MaxNum];

int Asiento _ Suma

int Remain _ Num

int Leave _ Num

} ;

const int PlaneNum = 12; //Total ***12 aviones;

//int número de asiento;

Información del vuelo Vuelo[MaxNum];

int Vuelo _ Num = 0;

void _ 1 _ información de vuelo();

void Cargar _ Vuelo();

void Agregar _ Vuelo();

void Del _ Flight();

void _ 1 _ información del vuelo _ Enter()

void _ 6 _ Salir _ Sistema();

void Flight _ Print();

void Add _ Book()

void Del _ Book();

void search_menu();

void commnd _ Deal(int);

void Init(entero)

{

for(int j = 1; j & lt=vuelo[número]. Seat_Sumj++)

{

Vuelo [número]. información del mar[j]. asiento_ID = j;

Vuelo [número]. información del mar[j]. isBook = false

Strcpy(número de vuelo). información del mar[j]. book_name, "none");

Strcpy(número de vuelo). información del mar[j].

Booker_ID, "Ninguno");

}

}

void Enter_Error()

{

cls ();

printf("\n\n\t¡El comando es un error!\n\n\t\t\t");

System("pausa" );

}

Menú no válido( )

{

int commond

cargar _ Flight() ;

printf(" \ n \ n \ t \ t \ tair craft booking system \ n \ n "

printf(" \ n \ t \ t * * * * * *); * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");

Printf(" \t\ t1. Ingresar información de vuelo 2. Generar información de vuelo\ n \ n ");

Printf("\t\t3. Buscar información de vuelo. Libro\ n \ n "); >

Printf( "\t\t5. Eliminar reserva de suscripción 6.

Salga del sistema\ n \ n ");

printf(" \ t \ t * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");

printf(" \ t \ tIngrese el comando requerido: ");

scanf( "%d ",& ampcommond);

commond_Deal(common);

}

void Commond_Deal( int commond)

{

cls();

Cambiar (normal)

{

Caso 1:_ 1 _ información de vuelo();

Caso 2: Vuelo _ Print(); Break;

Caso 3: Buscar _ Menú();

Caso 4: Add _ Book( ); romper;

Caso 5: Del_Libro(); }

}

void _1_FlightInfo()

{

char cmd[10];

cls( );

printf(" \ n \ n \ t \ t = = = = = = = = Información del vuelo = = = = = = = = = = = = = = \ n "); /p>

printf(" \ t \ t \ t input(back)returns \ n \ n "

Printf ("\ t \ t \ tIngrese (ir) entrada de información \); n \ n \ t \ tIngrese el comando: ");

scanf( "%s ", cmd);

if (! strcmp( cmd, " back ") { cls ( );menu();}

else if(!strcmp(cmd,"go"){ cls();_ 1_flight info_Enter();}

Otros

{

ingrese _ Error();

_ 1 _ información de vuelo()

}

}

void _1_FlightInfo_Enter()

{

int cmd

Printf ("\ n \ n \ n \ t \ t = = 1. Agregar vuelo = = \n\n");

Printf ("\n\t\t==2. Eliminar vuelo = =\n\n");

Printf ("\ n \ t \ t = = 3.

Menú principal = = = \n\n\n\n\t\Comando de entrada: ");

scanf( "%d ", & ampcmd);

cls() ;

Cambiar (cmd)

{

Caso 1: Agregar _ Vuelo();

Caso 2: Del _ Vuelo(); break;

Caso 3: Menú(); break;

Valor predeterminado: Enter _ Error();

}

}

void Save_Flight()

{

ARCHIVO * fp

fp = fopen( "Vuelo.txt ", " w ");

if( fp == NULL)

{

printf("Archivo Error de apertura! \n ");

Sistema("pausa");

Salir(1);

}

fprintf. (fp, " %d ", Número_vuelo)

int I = 0

mientras(i<=número_vuelo)

{

fprintf( fp, " % s % s % s % d % d % d \ n ", Vuelo[ i ]. ID de vuelo, Vuelo[ i ]. Start_pos, Vuelo[ i ]. End_pos, Vuelo [ i ]. Vuelo tiempo,

Vuelo [ i ]. Mantener cantidad, vuelo [ i

for(int j = 1;j<= Flight[i]. Seat_Sumj++)

{

fprintf(fp, " %d %d %s %s\n ", Vuelo[i]. ID_asiento, vuelo[i]. Vuelo[i]. Nombre_vuelo[i]. mar ​​info[j]. Booker_ID);

}

i++;

}

fclose(FP);

p>

}

void Add_Flight()

{

Información de información de vuelo;

char cmd

Printf ("\ n \ t \ t = =Información de vuelo = = = \ n \ n ");

Printf("ID de vuelo existente:\ n ");

for(int k = 0; k & lt número de vuelo; k ++)

{

printf(" % s % s-& gt; %s % s \n ", vuelos[k]. ID de vuelo, vuelo[k]. Start_pos, vuelos[k]. End_pos, vuelos[k]. vuelo_time);

}

printf(" \ t \ t \ tIngrese la ubicación de salida: ");

scanf( "%s ", mensaje. start_pos );

printf("\n\t\t\tDestino de entrada:");

scanf("%s", mensaje.

end_pos);

printf("\n\t\t\tIngrese el número de vuelo:");

scanf("%s", información. vuelo_ID) ;

printf("\n\t\t\tIngrese el número de asientos en el avión:");

scanf("%d", & information.seat_Sum

<); p>Información. Resto_Num = información. Información Seat_Sum. Leave_Num = 0;

printf("\n\t\t\tIngrese la hora de salida:");

scanf("%s", información. Flight_time

printf(" \ N \ t \ t \ t ¿Quieres guardar el vuelo (Y/N)?")

getchar()

scanf; ( "%c ", & ampcmd);

if(cmd == ' N ' | | cmd == ' N ')_ 1 _ información de vuelo _ Enter()

else if ( cmd == 'Y'|| cmd == 'y ')

{

Vuelo[Vuelo _ num++]= info;

init(Flight_Num-1);

save_Flight();

printf("\N\N\t\t\t¿Quieres agregar más Flight(Y|N)? ");

getchar();

scanf( "%c ", & ampcmd);

cls();

if(cmd == ' Y ' | | cmd == ' Y ')Agregar _ Vuelo();

else if(cmd == ' N ' | | cmd = = ' N ')Menú( );

Otro

{

ingrese _ Error();

agregue _ Flight() ;

}

}

Otros

{

ingrese _ Error();

agregue _ Vuelo( );

}

}

void Flight_Print()

{

if(Número de vuelos = = 0)

{

Printf("¡No hay información de vuelo! \ n "

System("Pausa"); >cls();

menu();

}

for(int I = 0; i<número de vuelo; i ++)

{

Printf("Número de vuelo: %s (origen) % s-->(fin) % s hora de salida: % s \ n ", número de vuelo[i]. ID de vuelo, vuelo[i]. start_POS, vuelo[i]. end_POS, vuelos[i]. vuelo_time);

Printf("Número total de asientos para el vuelo %s: % d\n", vuelo[i]. ID de vuelo, vuelo[i].seat_sum);

for(int j = 1; j & lt= Vuelo[ i ]. Asiento _ Sumj ++)

{

printf("-& gt;ID de asiento: %d Ya sea para vender %s Nombre de la reserva %s ID de la reserva % s \ n ", vuelo [i]. Información marítima [j].

Seat_ID

(vuelo[i]. información marítima[j]. isBook == true)? "Reservado": "No reservado",

Vuelo [ i ]. información del mar[j]. Nombre_Libro, Vuelo[i]. información del mar[j]. Booker_ID);

if (j!= Vuelo[i].seat_Sum)printf(" | \n ");

}

printf("\ nNúmero de votos restantes:%dNúmero de votos restantes:% d\n", vuelo[i]. Número de salida, vuelo[i].remaining_quantity);

}

char cmd [num];

Printf("Ingrese retorno:");

scanf( "%s ", cmd);

if ( strcmp ( cmd, " atrás ") = = 0) { cls(); menu() }

}

void Del_Flight()

{

Id. de carácter [número];

char cmd

printf(" \ n \ t \ t = = Eliminar vuelo = = \ n \ n ") ;;

Printf("ID de vuelo existente:\ n ");

for(int k = 0; k & lt número de vuelo; k ++)

{

printf(" % s % s-& gt; %s %s \n ", vuelo[k]. ID de vuelo, vuelo[k]. Start_pos, vuelo[k]. End_pos, vuelo [ k ]

}

printf("\n\nIngrese el número de vuelo que desea eliminar (Introducir):");

p>

scanf( "%s ", id.

if( strcmp( id, " back ")== 0){ cls() _ 1 _ información de vuelo _ Enter() ;} ;

for(int I = 0;i<flight number;i++)

{

if( strcmp( id, Vuelo[ i ]).

ID de vuelo) == 0)

{

cls();

Printf ("\ n \ n \ n \ t \ t¿Estás seguro de que quieres para eliminar (S/N)? ");

getchar();

scanf( "%c ", & ampcmd);

if ( cmd = = 'y' || 'Y ')

{

for(int j = I+1; j & número de vuelo; j ++)

Vuelo[j - 1] = vuelo[j];

Número de vuelo -;

save_Flight();

printf("\nSí ¿Quieres para continuar eliminando? (Y | N)");

getchar();

scanf( "%c ", & ampcmd);

cls( );

if(cmd = = ' Y ' | | cmd = = ' Y ')Del _ Flight();

else Menu();

}

else if(cmd = = ' N ' | | ' N '){ cls(); del _ Flight();}

Otro

{

cls();

ingrese _ Error();

del _ Flight();

}

}

}

}

void Add_Book()

{

char cmd[ número], nombre[número], id[número];

char ch

int I;

printf(" \ n \ n \ t \ t = = sistema de reservas = = = \ n \ n ");

Printf("ID de vuelo existente:\ n ");

for(int k = 0; k & ltflight número; k++)

{

printf(" % s % s-& gt; %s %s \n ", vuelo [ k ]. ID de vuelo, Vuelo [k] . Start_pos, Vuelo [k]. Vuelo [k]. Hora_vuelo);

}

Printf("Ingrese el vuelo a reservar" return): ");

scanf( "%s ", cmd);

if( strcmp( cmd, " back ")== 0){ cls() menú ();}

<; p>for(i = 0;i<flight number;i++)

{

if ( strcmp( cmd, Vuelo[ i ]). ID de vuelo ) == 0)

{

cls();

Printf( "\n\n\t\t%sinformación de vuelo\n " , Vuelo[i].flight_ID);

for(int j = 1;j<= Vuelo[i].Seat_Sumj++)

{

printf(" -& gt ID de asiento: %d si se vende %s nombre de la reserva %s ID de la reserva % s \ n ", vuelo [i]. información marítima [j]. Asiento _ ID

(vuelo[ i]. información del mar[j].isBook == true)? "reservado": "no reservado",

vuelo[i].

información del mar[j]. Booker_ID);

if (j!= Vuelo[i].seat_Sum)printf(" | \n ");

}

printf("\ nNúmero de votos restantes:%dNúmero de votos restantes:% d\n", vuelo[i]. Número de salida, vuelo[i].remaining_quantity);

}

Ir a end;

}

cls();

Printf("¡Vuelo no encontrado!\n ");

cls() ;

add _ Book();

Fin:;

Printf("¿Quieres reservar un billete (Y|N)?") ;

getchar();

scanf( "%c ", & ampch);

cls();

if ( ch == 'y' || ch == 'Y ')

{

if (vuelo[I].remain_num==0){ printf(" \n \ntic kets están agotados "); System("pause"); add_Book();}

printf("\n\n\t\tIngrese el nombre del reservante:") ;

scanf( "%s ", nombre);

printf(" \ n \ n \ t \ tIngrese el número de identificación del portador:

p>

); scanf( "%s ", id);

int j;

for(j = 1; j & lt= Vuelo[ i ]. Asiento _ Sumj ++)

{

if(!vuelo[i].sea info[j].isBook)

{

vuelo[i]. información del mar[j]. isBook = true

Vuelos[i]. dejar_num++;

vuelos[i]. permanecer_Num-;

strcpy(vuelo[i]). información del mar[j]. Libro_Nombre, Nombre);

strcpy(vuelo[i]). información del mar[j]. Booker_ID, ID);

Pausa;

}

}

save_Flight();

Printf( "¡Ya reservado!\nHora de salida: %s vuelo %s asiento %d Nombre de la reserva: %s Número de identificación de la reserva: %s",

Vuelo [ i ]. Información del mar [j]. Información del mar del vuelo [j]. Información del mar del vuelo [j].

Booker_ID);

printf("\t\t¿Quieres continuar (Y/N);");

System("pause");

cls();

menu();

}

else if(ch == ' N ' | | ch == ' N ') Add_Book ();

}

void Del_Book()

{

char cmd[número], id[número], ch;

cls();

Printf ("\ n \ n \ t \ tEliminar reserva");

printf(" \ n ID de vuelo existente:\ n ");

for(int k = 0; k & lt número de vuelo; k++)

{

printf ("%s %s-> ;%s %s\n", vuelo[k]. id_vuelo, vuelo[k]. posición_inicial, vuelo[k]. posición_final, vuelo[k]. tiempo_vuelo);

}

Printf ("\ n \ n \ t \ tIngrese el número de vuelo eliminado: "

scanf( "%s ", cmd);

printf(" \ n \ n \ t \ t \ tIngrese el número de identificación del portador: ");

scanf( "%s ", id );

for(int I = 0; i<flight number;i++)

{

if ( strcmp( cmd, Vuelo[ i ]). ID de vuelo ) == 0)

{

for(int j = 1; j & lt= Vuelo[ i ]. Asiento _ Sumj ++)

if( strcmp( id, Vuelo[ i ]). información del mar[j] . Book_Name ) == 0)

{

printf("\nHora de salida:%s vuelo %s asiento %d Nombre de la reserva: %s Número de identificación de la reserva: %s ",

Vuelo [i]. Hora de vuelo, vuelo [i]. ID de vuelo, información de vuelo[i]. ]. información del mar[j]. Booker_ID);

printf(" \ N¿Quieres eliminar la reserva: (Y|N)?");

getchar();

scanf ( "%c ",& ampch);

if( ch == 'y' || ch == 'Y ')

{

Vuelo [i]. permanecer_num++;

vuelos[i]. dejar_Num-;

Vuelos[i]. información del mar[j]. isBook = false

Strcpy(vuelo[i]). información del mar[j]. nombre_libro, "ninguno");

Strcpy(vuelo[i]). información del mar[j].

Booker_id, "Ninguno");

save_Flight();

Printf("¡Eliminar!\n");

cls();

menu();

}

}

Printf ("\ n \ n \ t \ tID número no encontrado!\n ");

Sistema("pausa");

del _ Libro();

}

}

Printf("\n\n\t\t¡No existe tal vuelo!\n");

System("Pausa");

del _ Book();

}

void Disp_Empty()

{

for(int I = 0; I<Número de vuelo ;i++)

{

printf("\n\n\tVuelo %s:% d\n"Número de asientos disponibles en el vuelo[i].ID de vuelo, vuelo[i].remain_num);

}

}

void Disp_EmptyInfo()

{

for(int i = 0;i<flight number;i++)

{

Printf ("\ n \ n \ tVuelo %s \n " , Vuelo[i]. ID_vuelo);

for(int j = 1 ; j & lt= Vuelo[i].Seat_Sumj++)

{

If(!flight[i].sea info[j].isBook)

Printf("Asiento % d\n",vuelo[i].sea info[j].asiento _ id);

}

}

}

void Disp_Booked()

{

for(int i = 0;i<flight number;i++)

{

Printf ("\ n \ n \ tVuelo %s \n " , Vuelo[i]. ID_vuelo);

for(int j = 1; j & lt= Vuelo[i]. Seat_Sumj++ )

{

si(vuelo[i]. información del mar[j]. isBook)

Printf("Asiento %d nombre de la reserva: %s número de identificación de la reserva: % s \ n ", número de vuelo [i]. Información del asiento [j]. asiento _ id

Información de vuelo marítimo[j].Información de vuelo marítimo[j].

}

}

}

void Disp_Time( )

{

for(int I = 0;i<flight number;i++ )

{

printf(" \ n \ n \ tVuelo %s hora de salida: % s \ n ", vuelo[i]. ID de vuelo, vuelo[i]. hora_vuelo);

}

}

void search_menu()

{

int cmd

Printf ("\ n \ n \ n \ t \ t = =Buscar información de vuelo== ");

Printf( "\n\n\t\t\ t1. Muestra el número de asientos vacíos 2.

Mostrar información de asientos disponibles");

Printf( "\n\n\t\t\t3. Mostrar información de reserva 4. Hora de salida");

Printf( "\n \n\t\t\t0.Menú principal");

Printf ("\n\n\t\tIngrese el comando requerido:");

scanf( "% d ", & ampcmd);

cls();

Interruptor (cmd)

{

caso 1:Disp _ Vacío (); break;

Caso 2: Disp _ información vacía(); break;

Caso 3: Disp _ Booked(); 4: Disp _ Time(); romper;

Caso 0: Menú();

}

char ch

Printf("¿Quieres continuar buscando (Y/N)?");

getchar();

scanf( "%c ", & ampch);

cls();

if(ch = = ' Y ' | | ' Y ')Buscar _ Menú();

else Menú();

}

void Load_Flight()

{

ARCHIVO * fp

fp = fopen( "Vuelo.txt " , " r ");

if ( fp == NULL)

{

fp = fopen( "Vuelo.txt ", " w ")

menú();

}

fscanf(fp, " %d ", & ampflight _ Num); I = 0;

while(i<=número de vuelo)

{

fscanf( fp, " %s %s %s %s %d % d %d\n ", Vuelo [ i ]. ID de vuelo, Vuelo [ i ]. Start_pos, Vuelo [ i ]. End_pos, Vuelo [ i ]. Tiempo de vuelo,

& amp Vuelo [ i ] . Número total de asientos y vuelo[i]. Leave_Num

for(int j = 1; j<= Vuelo[i]. Seat_Sumj++)

{

fscanf(fp, " %d %d %s %s\n ", & vuelo[i]. información marítima[j] .Número de asiento y vuelo [i] es Libro, Vuelo [i].

Booker_ID);

}

i++;

}

fclose(FP);

}

void _6_Exit_System()

{

char cmd

cls();

printf(" \ N \ N \ N \ N \ N \ N \ t \ tConfirmar para salir (Y/N) ");

getchar();

scanf( "% c ", & ampcmd );

if( cmd == 'Y' || cmd == 'y ')

{

Salir (1) ;

}

else if(cmd = = ' N ' | | cmd = = ' N '){ cls(); menu();}

Otro

{

ingrese _ Error();

_ 6 _exit_system()

}

}

void Begin_Disp()

{

char ch = ' >;';

//sleep( 1000);

printf(" \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n " ;

printf(" \ t-_ _ @ _ _ @ _ _ @ _ _ @ _ _ ~ @ \ n "

printf(" \ t-_ ` \ \ & lt;, _ _ `\ \ & lt;, _ _ `\ \ & lt;, _ _ `\ \ & lt;, _ _ `\ \ & lt;, _ \ n ");

printf(" \ t-(*)/(*)/(*)(*)/(*)/(*)/(*)/(*)\ n \ n \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t

int n = 0;

mientras(n & lt; = 80 )

{

dormir(15);

putchar(ch

n++; >cls();

}

int main()

{

comenzar _ Disp ();

menú();

}

¡Mmm! ! ¡Trabajemos juntos! ! ! ¡Un poco cansado de jugar! ¡No dejes un comentario! ¿Qué pasa? ¡Cámbialo tú mismo! Recuerde dar altas calificaciones.

Algunas funciones tienen errores. ¡Consulta la ruta y agrégala tú mismo!