Red de conocimiento informático - Conocimiento informático - Código fuente del sistema de gestión hotelera

Código fuente del sistema de gestión hotelera

void distribuir(slnode *sl, int i, arrtype_n f, arrtype_n e)

{

int j, p;

for(j = 0; j lradix _ n; j )

{

f[j]= e[j]= 0;

}

para( p=sl[0]). Siguiente;p;p=sl[p]. Siguiente)

{

j=sl[p]. teclas[I] 48;

If (!f[j])

f[j]= p;

Otro

sl[e[j]]. siguiente = p;

e[j]= p;

}

}

void recolectar(slnode *sl, int i , arrtype_n f, arrtype_n e)

{

int j, t;

for(j = 0;!f[j];j);

sl[0]. siguiente = f[j];

t = e[j];

mientras(j lt; radix_n-1)

{

for(j = j 1;j lt base n-1 amp; amp!f[j];j);

if(f[j])

{

sl[t]. siguiente = f[j];

t = e[j];

}

}

sl[t]. siguiente = 0;

}

void distribuir_c(slnode *sl, int i, arrtype_c f, arrtype_c e)

{

int j, p;

for(j = 0; j lradix _ c; j )

{

f[j]= e[j]= 0;

}

para(p=sl[0]). Siguiente;p;p=sl[p]. Siguiente)

{

j=sl[p]. teclas[I] 65;

If (!f[j])

f[j]= p;

Otro

sl[e[j]]. siguiente = p;

e[j]= p

}

}

void Collect_c(slnode *sl, int i , arrtype_c f, arrtype_c e)

{

int j, t;

for(j = 0;!f[j];j);

sl[0]. siguiente = f[j];

t = e[j];

mientras(j lt; radix_c-1)

{

for(j = j 1;j lt base_ c-1 amp; amp!f[j];j);

if(f[j])

{

sl[t]. siguiente = f[j];

t = e[j];

}

}

sl[t].

siguiente = 0;

}

void radix sort(sl list amp; L)// cadena

{

int I;

arrtype_n fn, en;

arrtype_c fc, EC;

for(I = 0; i lt longitud; i)

l.sl[i]. siguiente = I 1;

Longitud. siguiente = 0;

for(I = l . keynum-1; i gt=2; i-)

{

distribuir(l.sl, I, fn, en);

collect(l.sl, I, fn, en

}

for(I = 1; i gt); =0;I-)

{

distribuir_c(l.sl,I,fc,EC);

recoger_c(l.sl,I,fc , EC);

}

}

void organizar(sl list amp; L)//Reorganizar

{

int p, q, I;

temperatura del nodo

p=l.sl[0]. Siguiente;

for(I = 1; i lt longitud; i)

{

mientras(p lt; i)

p=l.sl[p]. Siguiente;

q=l.sl[p]. Siguiente;

if (p!=i)

{

temp = l . [p]= l . sl[I];

l sl[I]=

l.sl[i]. siguiente = p;

}

p = q;

}

}

int binsearch(sllist l, tipo de clave clave[])

{

int bajo, alto, medio

bajo = 1

alto = l; .length;

mientras(bajo lt;=alto)

{

medio=(bajo alto)/2;

si (strcmp(key, l.sl[mid]).keys)==0)

Regresar mid

else if (strcmp(key, l.sl[mid]).

clave) lt0)

Alto=medio 1;

Otro

Bajo= medio 1;

}

Devuelve 0;

}

void seqsearch(sllist l, keytype key[], int i)

{

int j , k, m = 0;

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

Printf("*número de vuelo, estación de origen, estación terminal, segmento de vuelo, hora de salida, hora de llegada, tipo de avión tarifa * \ n ");

for(j = 1; j lt=l . length; j )

{

Interruptor (1)

{

Caso 2: k=strcmp(key, l . sl[j]. otros . start

Caso 3: k=strcmp(key, l . sl[j]. otros . end

Caso 4: k=strcmp(key, l . sl[j]. otros . time); 1); break;

Caso 5: k=strcmp(key, l . sl[j]. otros . time 2); >Si (k==0)

{

m = 1;

printf(" * -8s -7s -6s -11s -9s -7s -5s 4d * \n ", l.sl[j].keys, l.sl[j].others.start, l.sl[j].others.end, l.sl[j].others.sche, l.sl[j].otros.tiempo1, l.sl[j].otros.tiempo2, l.sl[j].otros.modelo, l.sl[j].otros.precio);

}

}

If (m==0)

Printf("*No hay información de vuelo, puede ser un error de entrada*\ n" );

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

}

Icono de búsqueda no válido (lista l)

{

tipo de clave clave[clave len];

int i=1,k;

mientras(I gt;=1. ampilt=5)

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

Printf(" *Sistema de consulta de información de vuelo* \ n ");

printf(" * * * * * * * * * * * * * * * * * * * \ n "); p>

Imprimirf(" * 1.

Número de vuelo *\n ");

Printf(" * 2. Estación de origen * \ n ");

Printf(" * 3. terminal * \ n ");

Printf(" * 4. Hora de salida * \ n");

Printf(" * 5. Hora de llegada * \ n "); " * 0. Salir del sistema * \ n ");

printf(" * * * * * * * * * * * * * * * * * * * \ n "); p>

Printf("Por favor seleccione (0-5):");

scanf("d", ampI);

printf("\n");

p>

Switch (1)

{case 1: printf("Ingrese el número de vuelo a consultar (las letras deben estar en mayúsculas): "); /p>

scanf("s " , clave);

k=binsearch(l, clave);

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n "

If (k ==0)

Printf("*¡No hay información para este vuelo, puede ser un error de entrada!* \ n "); p>

Otros

{

Printf("*número de vuelo, hora de salida, hora de llegada, tipo de avión y tarifa* \ n ");

printf(" * -8s -7s -6s -11s -9s - 7s -5s 4d * \n ", l.sl[k].

claves, l.sl[k].others.start, l.sl[k].others.end, l.sl[k].others.sche, l.sl[k].others.time1, l.sl[ k].otros.time2, l.sl[k].otros.modelo, l.sl[k].otros.precio);

}

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

Pausa;

Caso 2: printf("Ingrese el nombre de la estación de origen del vuelo a consultar: ");

scanf("s ",clave);

seqsearch(l,clave,I);

Pausa;

Caso 3: printf("Entrar para consultar el nombre de la estación de origen del vuelo: ");

scanf("s ", key);

seqsearch(l, key, I);

Break ;

Caso 4: printf("Ingrese el nombre de la estación de salida del vuelo a consultar: ");

scanf("s ", clave);

seqsearch(l, key, I);

Break;

Caso 5: printf("Ingrese el nombre de la estación de origen del vuelo a consultar: "); p>

scanf("s ",key);

seqsearch(l,key,I);

Pausa;

Caso 0: printf (" \n \ n \ nAdiós n \ n ");

}

}

}

anular datos de entrada(sl lista amp; l)

{

int I = l longitud;

char yn = ' y

mientras(yn=. ='y '||yn=='Y ')

{

Printf("Número de vuelo, hora de salida, hora de llegada, tipo de avión y tarifa\n ");

scanf(" s s s s s s s s d ", l.sl[i].

claves, l.sl[i].others.start, l.sl[i].others.end, l.sl[i].others.sche, l.sl[i].others.time1, l.sl[ i].others.time2, l.sl[i].others.model, ampl sl[I].precio

I; radix sort(l);

Arrange(l);

Printf("¿Continuar escribiendo? y/n: ");

scanf("c " , ampyn);

}

l longitud = I-1;

}

void main()

.

{

sl lista l;

l .keynum = 6;

l .length = 0

Datos de entrada; (l);

searchcon(l);

}