Red de conocimiento informático - Consumibles informáticos - Programación de control de aeronaves

Programación de control de aeronaves

# incluir ltstdio.h gt

# 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

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)

{

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:"

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>

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