Programación en lenguaje C del sistema de reserva de aviones.
# include & ltstdio.h & gt//Archivos de encabezado de entrada y salida estándar
# include & ltstdio.h & gt//Contiene archivos de encabezado para el procesamiento de funciones de cadena
p>
# include & ltstdlib.h & gt//Archivo de encabezado que contiene funciones dinámicas de almacenamiento y liberación
#Definition N 10000
Estructura de aire //Definir una matriz de estructura.
{
int num
char start【20】;
char excede【20】; Tiempo de carga [10];
int recuento;
} s [N]
int I
int m = 0; ;
#define print "%-d % 12s % 12s % 10s % 12d\n", s[I]. Número, a partir de s[I], s[I]. se acabó.
void input(); //Ingresar información del vuelo
void print(); //Salir información del vuelo
void save(); Información
void read(); //Leer información de vuelo
void search(); //Buscar información de vuelo
void shanchu(); información de vuelo
void ding Piao(); //Información de reserva
void refund(); //Información de reembolso
void modificar();/ /Modificar información
void main()
{
int j;
printf(“★-Hola, bienvenido a la Gestión de Aviación Civil de China Sistema! -★\n");
printf("= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = n");
Hacer
{
printf("-1. Ingrese la información del vuelo☆-\n\n"
" - 2. Busque la información del vuelo -n——"
" - 3. Modificar información de vuelo☆ - \n\n"
" - 4. Buscar información de vuelo.
" - ☆ 5. Eliminar información de vuelo ☆ - \ n \ n "
" - 6. Información de reserva - n "
" - 7. Cancelar Información de pago - n"
" - 0. Salir☆-n\n");
printf("= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = n");
Printf ("Seleccione 0-7 para finalizar con un retorno de carro: \n \n");
scanf("% d", &j);
Switch(j)
{
caso 1:input(); // Llama al módulo de entrada
Break ;
Caso dos: print(); //Llamar al módulo de impresión
Break;
Caso tres: Modify(); //Llamar al módulo de modificación
Break;
Caso 4: Search(); //Llamar al módulo de búsqueda
Break;
Caso 5: Shanchu( ); //Llamar al módulo de eliminación
Break;
Caso 6: Upvote(); //Llamar al módulo de reserva
Break;
Caso 7: Push Ticket(); //Llamar al módulo de reembolso
Break;
Caso 0:;
Break;
}
} while (j!=0);//Fin del juicio
Printf("¡Gracias por usarlo, adiós! \n "); p>
}//Fin de la función principal
void input()//Imprimir programa del módulo
{
char f【】="2008 China"; //Establecer contraseña
int y;
Printf ("Ingrese su contraseña y finalice con enter:\n\n");
scanf("% s", f); //Leer contraseña
if (strcmp(f, "2008 China") == 0)
{
Printf ("Ingrese la información del vuelo en secuencia (termine con el número de boleto 0):\n\n"
"Después de ingresar la información, escriba w y termine con Enter \n\n"); //Imprimir información del mensaje
printf("-\n");
for(I = 0;i<n;i++)
{
Printf("Ingrese el número de vuelo:\n");
scanf("% d",& amps[I]. num); //Lee el número de vuelo
Printf ("Por favor ingresa la estación de origen:\n");
scanf ("% s", s[I]. Inicio) ; //Leer la estación inicial
Printf ("Ingrese terminal:\n");
scanf ("% s", s[I].over); terminal
Printf ("Ingrese la hora:\n");
scanf ("% s", s[I]. hora); //Leer hora< /p >
Printf ("Ingrese el número de tickets (el número de tickets es 0):\n", m
scanf ("% d", & amps[I]. count); ); //Leer número de ticket
m++;
Printf ("Se han ingresado %d mensajes. ¿Quieres continuar? Presione cualquier tecla para continuar, presione 0 para finalizar" , m);
scanf("% d", &y
if (y==0)
{
save() ; //Guardar información de la estructura.
print(); //Enviar la información del vuelo de entrada.
Romper;
}
}
}
Otro
Printf( "¡Contraseña incorrecta! ¡Compruebe si su contraseña es correcta! ¡Gracias y adiós!\n\n");
}
void Save() // Guarda el programa del módulo.
{
ARCHIVO *fp, *FP 1; //Definir puntero de archivo
if ((FP = fopen("Chen.Dat", WB" )) = = null) //Abre el archivo y determina si hay un error
{
Printf("¡No se puede crear el archivo!\n\n"); Imprimir mensaje de error
getchar();
return;
}
if((FP 1 = fopen("Hao . dat"," WB")) == null) //Abre el archivo y determina si hay un error.
{
Printf("¡No se puede crear el archivo!\n\ n"); //Imprimir mensaje de error
getchar();
Return;
}
for(I = 0; i<m;i++)
if (fwrite (& s [I], sizeof (struct air), 1, FP == 0) // Escribe datos en el archivo y determina si hay errores. p>
Printf("¡No se pueden ingresar datos en el archivo! \n \n");
fprintf(FP 1, "%d", m
fclose); (FP); //Cerrar el archivo
fclose(FP 1); //Cerrar el archivo
}
void read() //Módulo que lee información del archivo
{
FILE *fp, *FP 1; //Definir puntero de archivo
if ((FP = fopen("Chen. Dat", "Rb" )) = = null) //Abre el archivo y determina si hay un error.
{
Printf ("Error, comprueba si el archivo existe y presione cualquier tecla para regresar al menú") ;//Imprimir mensaje de error
getchar();
}
if ((FP 1 = fopen("Hao . dat", "Rb") ) = = null) //Abre el archivo y determina si hay un error
{
Printf("No se puede crear. file!\n\n"); //Imprimir mensaje de error
getchar();
Return;
}
fscanf (FP 1, "%d", & ampm);
}
p>
fclose(FP 1); //Cerrar el archivo
for(I = 0;i<m;i++)
{
f read(&s[I],sizeof(air),1,FP);
}
fclose(FP); //Cerrar archivo
}
void print()//imprimir módulo
{
char w【10】;
read(); //Llama a la función de lectura de archivo
Printf("Número de vuelo, salida estación, hora de la terminal, número de billete\n");
for( i = 0;i<m;i++)
{
printf(PRINT); / /Imprimir información
}
Printf ("Por favor presione cualquier tecla para finalizar y volver al menú anterior:\n");
scanf ("% s", w);
}
void search()//Módulo de consulta
{
nombre de carácter 1【20】 ;
nombre de char 2【20】;
char ii【10】;
int n, no;
Hacer p>
{
Printf("Seleccione un método de búsqueda:\n\n"); //Imprimir menú del modo de consulta
printf("1.
Buscar por número de vuelo\n\n"
"2. Buscar por terminal\n\n"
"3. Buscar por aerolínea\n\n"
<. p>"0.return \n\n");Printf("Seleccione entre 0 y 3:\n\n"
"Presione otras teclas para regresar al Menú de la página principal:\n\n");
scanf("%d",&n); //Leer patrón de búsqueda
if (n==0)
Pausa;
Cambiar (n)
{
Caso 1:
Printf("Ingrese el número de vuelo: \n");
scanf ("% d", & no); //Número de vuelo
Pausa;
Caso 2:
Printf("Ingrese el nombre del terminal:\n");
scanf("%s", nombre 2 //Leer terminal
Pausa;< / p>
Caso 3:
Printf ("Ingrese el nombre de la estación de inicio:\n");
scanf ("% s", nombre 1); //Leer estación de inicio
Printf ("Ingrese el nombre del terminal: \n");
scanf ("% s", nombre 2 //Terminal
Break;
}
read(); //Llama a la función de lectura
for(I = 0;i<m;i++)< / p>
{
if (strcmp (s[I].over, nombre 1) = | strcmp (s[I].over, nombre 2) == 0) //Según el terminal La estación de origen determina las condiciones de salida.
{
Printf("¡Información de vuelo buscada exitosamente!\n");
Printf("Número de vuelo, origen" Estación de salida, hora de la terminal, número de billete\n");
printf (PRINT //Imprimir información
Pausa
} p >
if (s[I].num == no) //Juzga la condición de salida según el número de vuelo
{
Printf ("Vuelo buscado con éxito información!\n ");
Printf ("Número de vuelo, estación de salida, hora de terminal, número de billete\n");
printf (PRINT); //Imprimir información< /p >
Break;
}
}
no = 0; //Especifique el número de vuelo como 0.
Printf. ("No hay información que necesitas o la búsqueda no se ha completado:\n\n"
"¿Quieres continuar buscando? Escriba "sí" o "no" para finalizar con retorno de carro (\n");
scanf("%s",ii);
} while(strcmp(ii). , "yes") = = 0); //Fin del juicio
}
void shanchu()//Eliminar módulo
{
nombre de char 1【20】;
nombre de char 2【20】;
char ii【10】;
char f【】=" 2008 China ";//Establecer contraseña
int no,n;
Printf("Ingrese su contraseña que termine con enter:\n\n");
scanf ("% s", f); //Lee la contraseña
if (strcmp (f, "2008 China"== 0) // Determina si la contraseña es correcta.
{
Hacer
{
Printf("Seleccione eliminar y finalice con la tecla Intro:\n\n"); Menú de modo de eliminación
printf(*1.
Eliminar por número de vuelo\n\n"
"*2. Eliminar por aerolínea\n\n"
"*0.return \n\n");
" p>
Printf("Seleccione 0-2 para finalizar con retorno de carro: \n");
scanf("% d", &n); //Leer y eliminar modo
p>
If (n==0)
Break; //salir del bucle
Cambiar (n) p>
{
Caso 1:
Printf("Ingrese el número de vuelo:\n");
scanf("%d" , & no); //Leer el número de vuelo
read(); //Llamar a la función de lectura
Salir del bucle
Caso 2:
Printf("Ingrese el nombre de la estación inicial: \n");
scanf ("% s", nombre 1); station
Printf ("Ingrese el nombre del terminal: \n");
scanf("% s", nombre 2 //Leer terminal
read(); //Llamar a la función de lectura
Break;//Saltar del bucle
}
for(I = 0;i<m; i++)
{
if(s[I].num == no | | strcmp(s[I].start, nombre 1) = 0&&strcmp(s[I] ]).over,name 2)==0) // Determinar si la información de entrada existe
{
s[I]= s[m-1];
m-;
}
}
Printf("Búsqueda completada o no existe dicha información\n\n");
Printf("Continuar eliminando\n");
Printf ("Escriba "sí" o "no" para finalizar con Enter);
scanf ("% s ", ii); //Lee la información para continuar.
save(); // Llama a la función de lectura
If (! strcmp (ii, "yes")) // Determina si continuar con la eliminación.
Printf("Presione cualquier tecla para regresar al menú superior:\n");
Break
} while (n!= 1 & ;& ampn! = 2 & amp& ampn! = 4 & amp& ampn =0);//Fin del juicio
Otros
Printf("¡Lo siento, contraseña incorrecta! No soy administrador, por lo que no puedes utilizar esta función. ¡Gracias y adiós \n \n");
}
anulando Piao() //Módulo de reservas
{
int n;
char a【10】;
Hacer
{
search(); // Llame al módulo de consulta
Printf ("Ingrese el número de boletos que desea reservar y finalice con enter:\n");
scanf ( "% d", & ampn); //Leer el número de billetes reservados.
if (n<0)
{
Printf ("¡Ingrese un número de boleto válido! \n "); // Determinar el número de boletos ¿Hay algún error?
break;
}
if(s[I]. count. = 0 & amp& amps[I]. count>= n)/ /Determinar si hay errores.
{
s【Yo】. Contar = s[I]. count-n;
save(); //Llama a la función de guardar
Printf("¡Reserva exitosa! \n \n");
}
if (s[I]. Count<n)//Determine si hay un error.
{
Printf("Ingrese un número de ticket válido: \n");
Pausa
}
Printf("¿Desea continuar? Ingrese "Sí" o "No" y presione Entrar para finalizar:\n"); //Determine si desea continuar reservando boletos.
scanf ("% s", a);
} while (!strcmp (a, "yes")); //Fin del juicio
}
Reembolso nulo() //Módulo de reembolso
{
int n;
char a【10】;
Hacer
{
search(); // Llame al módulo de consulta
Printf("Ingrese el número de boleto que desea reembolsar: \n ");
scanf("% d", & ampn); //Ingrese la cantidad del reembolso.
if (n & lt; 0) // Determina si la boleta es válida.
Printf("¡Ingrese un número de boleto válido! \n ");
s[I]. Contar = s[I]. count+n;
save(); // Llama al módulo de guardado
Printf("¡Reembolso exitoso! \n \n"); "¿Quiere continuar? Escriba "Sí" o "No" y finalice con un retorno de carro: \n \n"); // Determine si desea continuar con el reembolso del billete.
scanf ("% s", a);
} while (! strcmp (a, "yes")); // Juzga y salta del bucle
getchar();
}
void xiu Gai()//Modificar módulo
{
Estructura xiu / /Definir estructura.
{
int no
nombre de char 1【20】
nombre de char 2【20】; p>Tiempo de carga【20】;
int recuento;
} x【1】;
char j【10】; >char f【】="2008 China";//Establecer contraseña
int n;
Printf("Ingrese su contraseña y finalice con enter:\n\n" )
scanf ("% s", f); //Leer contraseña
if (strcmp (f, "2008 China"== 0) // Determinar si hay error .
{
read(); // Llama al módulo de lectura
para hacer
{
Printf ("Por favor seleccione el método de modificación:\n\n"
*1, modifique según el número de vuelo:\n\n
"*2, modifique según la ruta: \n\ n");
Printf ("Modifíquelo en 1-2 y finalice con Enter: \n \n");
scanf ("% d", & ampn) ;//Modo de modificación de lectura
Cambiar (n)
{
Caso 1: printf ("Ingrese el número de vuelo:\n");
scanf ("% d",&x[0].No); //Leer número de vuelo
Pausa;
Caso 2: printf(" Por favor ingrese la estación de origen: \n");
scanf ("% s", x【0】.name 1); //Lea la estación de origen
Printf(" Por favor ingrese terminal:\n");
scanf("%s",x[0].name 2); //Leer terminal
Pausa;
}
for(I = 0;i<m;i++)
{
if(strcmp(s[I].over,x 【0】. nombre 1 == 0 & ampstrcmp(s【I】 fin, x【0】 /p>
Printf("Número de vuelo, estación de origen, hora de la terminal, número de billete\n");
printf(PRINT);
Romper;
p>
}
if (s[I]. num = = x[0 ]. No) // Determinar la condición de salida.
{
Printf("Número de vuelo, estación de origen, hora de terminal, número de billete\n");
printf(PRINT);
p>
Romper;
}
}
x[0]. no = 0; //Restablece el número en la estructura a cero.
Printf ("Por favor ingrese el nuevo número de vuelo, origen, destino, hora (día de la semana), número de boleto:\ n"); % s % s % d", &x【0】.no,x【0】.name 1,x【0】.name 2,x【0】.time&x【0】.count);/ /Definir formato de entrada
s[I]. número = x[0]. Ninguno; //Reemplazar número de vuelo
strcopy(s[I]). inicio,x[0]. name 1); //Reemplaza su estación inicial
strcopy(s[I]). encima,x[0]. nombre 2); //Reemplazar terminal
strcopy(s[I]). Tiempo, x[0]. hora); //Reemplazar hora
s[I]. contar = x[0].
Count; //Cambiar el número del ticket
save(); //Llamar al módulo de guardado
Printf("¿Quieres continuar? Escribe "Sí" o "No" para responder al final del carrito:\n\n");
scanf("%s",j);
} while(strcmp(j,"yes")== 0); //Fin del juicio
}
Otros
Printf ("¡Lo siento, la contraseña es incorrecta! No eres administrador, por lo que no puedes ¡Usa esta función! ¡Gracias y adiós! \n\n");
}