Red de conocimientos turísticos - Información de alquiler - Código fuente de la plataforma de publicación de información

Código fuente de la plataforma de publicación de información

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

{

int j, p;

for(j = 0; j <radix_n;j++)

{

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

}

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

{

j=sl[p]. claves[I]% 48;

Si (!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]. claves[I]% 65;

Si (!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;

}

clasificación de raíz nula (lista sl y L)// cadena

{

int I ;

arrtype_n fn,en;

arrtype_c fc,EC;

for(I = 0;i<length;i++)

l .sl[yo]. siguiente = I+1;

Longitud. siguiente = 0;

for(I = l . keynum-1;i>=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);

collect_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;

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

Regresar a mitad

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

clave)<0)

Alto=medio1;

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

<); p>Caso 3: k=strcmp(key, l . sl[j]. otros . end

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

Caso 5: k=strcmp(key, l . sl[j]. otros . tiempo 2); p>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].others.time1, l.sl[j].others.time2, l.sl[j].others.model, l.sl[ j]. . precio);

}

}

If (m==0)

Printf("*Sin información de vuelo, mayo. 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> ;=1. &i<=5)

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

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

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

Printf(" * 1. Número de vuelo * \ n ");

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

Printf(" * 4.

Hora de salida *\n");

Printf(" * 5. Hora de llegada *\n ");

Printf(" * 0. Salir del sistema *\n ");

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

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

scanf("%d ", & ampI);

printf(" \ n ");

Interruptor (1)

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

scanf("%s ", clave);

k=binsearch(l,key);

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

Si (k==0)

Printf("*No hay información sobre este vuelo, ¡puede ser un error tipográfico!* \ n ");

Otro

{

Printf("* Número de vuelo, hora de salida, hora de llegada, tipo de avión, 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(" Ingrese el nombre de origen del vuelo de consulta requerido: ");

scanf("%s ", key);

seqsearch(l, key, I);

Pausa;

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

scanf("%s ",key);

seqsearch(l,key,I);

Romper;

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

}

}

}

void); datos de entrada (sl list & l)

{

int I = ++ l longitud;

char yn = ' y

<. p> while(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].keys, l.sl[i] .otros .inicio, l.sl[i].otros.fin, l.sl[i].otros.sche, l.sl[i].otros.tiempo1, l.sl[i].otros.tiempo2, l .sl [i].others.model,&l.sl[I].others.price);

++ I;getchar();

radix sort(l);

Arrange(l);

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

scanf("%c ", & ampyn);

}

l . longitud = I-1;

p>

}

void main()

{

sl lista l;

l . keynum = 6;

l .length = 0;

Datos de entrada (l);

searchcon(l);