Programación de control de aeronaves
# incluir ltstring.h gt
# incluir ltconio.h gt
# incluir ltctype.h gt
# incluir ltstdlib.h gt
# incluir ltmalloc.h gt
# incluir ltmath.h gt//overflow
#define ok 1 p>
estructura typedef Yidingkehu
{//Lista de enlaces únicos
char name[15] //El nombre del cliente que ha reservado el billete.
int libro de reservas; //cantidad de reservas
struct Yidingkehu * next 1; //
}Yidingkehu, * enlace;
estructura typedef
{//Equipo de cadena única
char name[15] // El nombre del cliente que reservó el boleto
int yudingpaoi; //Número requerido de reservas
struct Weidingkehu * next2//Puntero de nodo de enlace siguiente
}Weidingkehu, * Qptr
línea de estructura typedef
{//Crea una estructura que contenga seis piezas de información.
char hangbanhao[15]; //Número de vuelo-
char feijihao[15]; //Número de avión
int feixingriqi//Hora de salida
p>p>
int chenkerenshu//número de escaños
int yupiao//número de votos restantes
char Zhongdianzhai[15];//ciudad de aterrizaje
struct Hangxian * next//Puntero al siguiente punto de enlace
struct Yidingkehu *dingyi; //Defina un puntero al nodo principal del cliente suscrito.
struct Weidingkehu * yudingqueue
}línea colgante, * Linklist
linklist init linklist(); //01
int insert Linklist (Lista de enlaces amp; head 1); //02
void hbhchaxun(); //Consulta por número de vuelo
void mddchaxun(); //Consulta por destino
void lurugongneng(); //Función de entrada de inicialización
void chaxungonnen(); //Función de consulta
void dingpiagonnen() //Función de reserva
void tuipaogonnen(); //Función de reembolso
void main()
{
int n;
Hacer { / /Imprimir la interfaz principal
printf(" \ tBienvenido al sistema de reservas de pasajeros aéreos \ n "
printf(" \ t n "
); printf("\t==gt;1.Función de entrada==\n");
printf("\t==gt;2.Función de consulta==\n");
printf("\t==gt;2.Función de consulta==\n");
p>
printf(" \ t == gt; 3. Función de reserva = = \ n ");
printf(" \ t == gt; 4. Función de reembolso = = \ n ");
printf(" \ t == gt; 5 .exit == \ n ");
printf(" \ t n ");
printf("\tPor favor seleccione:");
scanf( "d", ampn);printf("\n");
Switch(n)
{
Caso 1: Función Luru(); /Función de entrada
Break;
Caso 2: chaxungonnen(); // Función de consulta
Break;
Caso 3: dingpiagonnen (); //Función de reserva
Pausa;
Caso 4: Retiro public(); //Función de reembolso
Pausa;
Predeterminado: exit(0); //Salir
}
} while(n = = 1 | | n = = 2 | | n = = 3 | | n = = 4);
}
void lurugongneng()/// Lista enlazada individualmente inicializada * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.
{
Lista vinculada p;
//int m, n;
Si (!p) sale (desbordamiento);
printf(" \ tIngrese los siguientes elementos en secuencia: \ n \ n "); // La entrada aquí se ingresa por separado para evitar la asignación aleatoria.
Printf("Número de vuelo\n");
Get (p- gt; Andante number); //Los dos llegan aquí se deben principalmente a la entrada de la tecla Enter; El primero es recibir el último Enter.
Get (p- gt; número Andante);
Printf("Número de avión\ n ");
Get (p- gt; Feijie Hao)
printf(" terminal \ n ");
Obtener (p- gt; Pueblo Zhongdian
Printf("Fecha de vuelo\ n ") ;
scanf("d ", ampp->; clima del vuelo);
Printf("Número total de pasajeros\ n "); "d", ampp->chenke renshu);
Printf("votos restantes\n");
scanf("d", ampp->yupiao);
}
void chaxungonnen()/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.
{
int n;
printf("\tConsultar información de la aerolínea\n");
printf("\ t n " );
printf(" \ t == gt; 1. Consulta por destino == \ n "
printf(" \ t == gt; 2 .Consulta por número de vuelo = = \ n ");
printf(" \ t n ");
printf(" \ tPor favor seleccione: ");
scanf( "d", ampn);
printf("\n");//Formato
Conmutador(n)
{ p>
Caso 1: mddchaxun();
Romper;
Caso 2: hbhchaxun();
Romper;
Predeterminado: romper
}
}
Invalidar mddchaxun()//mediante consulta de destino
{
char c[ 15];
int m;
Lista vinculada p = L;
printf("\tIngrese el objetivo a consultar:" ); p>
gets(c);
gets(c); //El motivo es el mismo que el anterior
Haz {
p = p - gt; siguiente;
si (p)
{
m=strcmpi((*p).
Pueblo Zhongdian, c); //m = 0 if = =
If (m==0)
{
printf(" \ t Luz información:\n ");
printf ("\tNúmero de fuente de luz: s\n ", p- gt; número de Andante);
Printf ("\tNúmero de aeronave: s \n ", p- gt; Fei Jihao);
printf(" \ t tiempo de luz: semana d \ n ", p- gt; clima de vuelo);
printf( " \ tVotos restantes: d\n ", p- gt;
}
}
Otros
{/ /Si no coincide, hazlo.
printf(" \ tLo sentimos, no hay ningún destino que esté buscando: \ n \ n "); (m!=0);
}
Void hbhchaxun()//Consulta por destino
{
char c[ 15 ];
int m;
Lista enlazada p = L;
printf("\tPor favor, introduzca el número de vuelo a consultar: "); p>
p>
gets(c); gets(c); printf("\n");
Hacer {
p = p- gt; siguiente;
p>
If (p)
{
m=strcmpi((*p). hangbanhao, c); = 0 si = =; (*p )aquí. Y el rol p-> es el mismo.
If (m==0)
{
printf("\tInformación del rayo:\n");
printf ( " \ tNúmero de fuente de luz: s\n ", p- gt;
Printf ("\ tNúmero de aeronave: s\n ", p- gt; Fei Jihao
);printf(" \ t tiempo de luz: semana d \ n ", p- gt; clima de vuelo
printf(" \ t votos restantes: d\n\n " , p- gt); ; yupiao);
}
}
Otros
{//Hazlo si no cumple.
printf(" \ tLo sentimos, no hay ningún número de vuelo que esté buscando: \ n "); m ! =0);
}
void dingbiaogonnen()/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
char c[15];
int m=1, piao, ydpiao=0, yd=0, n; //
gets(c);
Printf("Ingrese el nombre del terminal: "); ) ;
p = L- gt;Siguiente;
Si (p) {
Asegúrese de{//comprobar si existe este vuelo.
If (!p)
{
Printf("Lo sentimos, no hay ningún vuelo que estés buscando: \ n \ n "); p>
ir al bucle 1;
}
m = strcmpi(p- gt; Zhongdian Village, c);
Si (m== 0 )
{
Printf("Información de vuelo: \n ");
Printf("Número de vuelo: s\n ", p- gt; OK Número de placa);
Printf("Número de avión: s\n", p- gt; Fei Jihao);
Printf("Tiempo de vuelo: semana d\n", p- gt; clima del vuelo);
Printf("boletos restantes: d\n ", p- gt; yupiao }
else p = p- gt; ;
}mientras(m!=0);
si (m==0)
{
Haz {< / p>
printf("\nIngrese el número de boletos que desea reservar: "); scanf("d", amp drifting
if ( drifting lt= p->; yupiao); )
{
h = p- gt;
Si (h)
{
h 1 = h;
h = h- gt; siguiente 1;
h = (struct yiding kehu *)malloc(sizeof(yiding kehu)); p>Printf("Por favor ingrese su nombre:");
Get (h- gt; nombre); Get (h- gt; nombre);
h- gt; libro de boletos = boleto;
h- gt; siguiente 1 = h 1- gt; siguiente
h 1->; >p->; yupiao = p- gt; Yu Piao-Piao;
Printf("Reserva exitosa: \ n ");
}
Otros
{
Printf("Votos restantes: d\n ", p- gt; yupiao
<); p>Printf("Lo sentimos, los d boletos restantes no son suficientes para completar la reserva\n\n ", p- gt; yupiao);Printf("¿Quieres volver a reservar?\n " ) ;
Printf("Si es necesario, ingrese 1, o presione 2 para hacer una reserva, ingrese 3:");
scanf("d ", ampm);
printf(" \ n ");
if(m==3) ir al bucle3
}
} while( m == 1) ;
}
}
si no(! p)
{
bucle 3: struct Weidingkehu * Q3;
Printf("Lo sentimos, este vuelo se ha agotado\ n "); p>
q . front = p- gt; yudingqueue
If(q.front==q.rear) printf("Nadie ha reservado el billete, ¿quieres reservarlo?\ n ");
else if(q.front! Las entradas han sido reservadas.
¿Quieres hacer una reserva? \ n ");
Printf("Ingrese 1 o 2 para la reserva: ");
scanf("d ", ampn);
printf (" \ n ");
If (n==1)
{
Printf("Ingrese su nombre"); gt; nombre); get (Q3- gt; nombre); //¿q3 no puede señalar el nombre?
Printf("Ingrese el número de reserva"); ; jade Dingpiao);
Q3->; next2 = NULL
q trasero- gt; next2 = q3
q.rear = q3
Printf("¡Ya has reservado!\n ");
}
}
bucle 1:;
}
void tuibaogongnen()/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
}
/////////Las siguientes son solicitudes de otras personas////// /.
1. Este sistema utiliza una matriz de estructura que contiene n datos. La estructura de cada dato debe incluir: lugar de salida, número de vuelo de destino, número de asiento, si el asiento está reservado y el nombre de la reserva. persona, y el DNI de la persona de la reserva
2. El sistema muestra un menú como este:
(1) Ingrese la información del vuelo
(. 2) Generar información de vuelo
(3) Buscar información de vuelo
A Mostrar el número de asientos vacíos
B. >
C. Mostrar información del asiento reservado
D Hora de salida
(4) Realizar una reserva
(5) Eliminar la reserva
p>(6) Salir del sistema
1. Las opciones 4) y 5) requerirán entrada adicional para que el sistema se ejecute correctamente, y ambas permiten al usuario retractarse de su entrada
2. Pulsa ruta o. El destino busca información del vuelo.
Cuando se vuelve a abrir el programa, los datos se guardan en un archivo.
Cuando se inicia, comienza con el archivo