¿Cómo programar para realizar reservas automáticas?
# 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]; p>
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() ; p>
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()
}
} p>
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 p>
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 ++)
{ p>
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 ++) p>
{
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++)
{ p>
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++ )
{ p>
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 p>
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); p >
cls();
if(ch = = ' Y ' | | ' Y ')Buscar _ Menú();
else Menú(); p >
}
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);
} p>
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 "); p>
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!