VC tiene una pregunta. Qingdao Master Gao puede ayudarme.
#includelt;iostream.hgt;
#includelt;string.hgt;
#includelt;iomanip.hgt;
#define StackSize 8
typedef struct
{char Car_number[StackSize][10];
{char Car_number[StackSize][10];
Esta es una pregunta para pedirle consejo a un experto en lenguajes de vc.
p>
typedef struct
{char Car_number[StackSize][10];
int top
}SqStack; define la estructura de la pila
void InitStack(SqStack amp; S)/ //Inicializa la parte superior de la pila
{S.top=-1;
}
int StackEmpty(SqStack & S) // Determina si la pila está vacía
{if(S.top==-1)
Devuelve 1;
else
Devuelve 0
}
int StackFull(SqStack amp; S) // Determina si la pila está lleno
{if(S.top===StackSize-1)
return 1
else
return 0;
}
void StackPush(SqStack amp; S, char e[])//presiona la pila
{S.top; p >strcpy(S.Car_number[S.top], e);
}
}
void StackDisplay(SqStack & S)//Mostrar el elementos de la pila
{coutlt;lt; "Coches en el estacionamiento:"lt;lt;endl;
int i;
for(i =S.top 1; ilt; Tamaño de pila; i )
mientras(k!=NULL)
{if((p-gt;num===k-gt;num )amp;amp;(k-gt;project_num===p-gt;project_num)amp;amp;amp;! strcmp(p-gt;nombre, k-gt;nombre)amp;amp;(p-gt; puntuación==k-gt;puntuación))
{flag=1;
if(k==t)
{t=t-gt; siguiente;}
else
k_head-gt.next=k-gt; siguiente
}
else
k_head=k;
k=k-gt;siguiente;
}
If(k==NULLamp;amp;flag==0 )
coutlt; "No se puede encontrar la información que desea eliminar\n"
return t; void find(struct escuela *t)
{struct escuela *p;
p=t;
coutlt;lt;lt;/n"/n ";
"número de escuela\t proyecto\t nombre\t grado\n";
while(p!
=NULL)
{coutlt;lt;p-gt;numlt;lt;"\t"lt;lt;p-gt;project_numlt;lt;\t"lt;lt;"\t" lt;lt;p-gt;namelt;lt;"\t"lt;lt;p-gt;scorelt;lt;endl;
p=p-gt;next;
}
}
}
void find1(struct school *t)
{ struct school *k; 0; int num;
coutlt; "Ingrese la información que desea encontrar\n";
coutlt; cingt;gt;num;
coutlt;lt;."Número de escuela\t programa\t nombre\t grado\n";
k=t;
while(k!=NULL)
{if(num==k-gt;num)
{flag=1;coutlt;lt;k-gt;numlt; lt;"\t\t" lt;lt;k-gt;project_numlt;lt;"\t"lt;lt;k-gt;namelt;lt;"\t"lt;lt;k-gt;scorelt; lt;endl;}
k=k-gt;next;
}
if(k==NULLamp;amp;flag==0)
coutlt;lt; "No se puede encontrar la información que busca\n";
}
void find2(struct school *t)
{struct school *k.int flag=0; int num;
coutlt;lt "Ingrese la información que desea encontrar \n";
coutlt; ;lt; "Por favor ingrese el número de artículo\n"; cingt; gt; num;
coutlt;lt; "Número de escuela\t nombre\t grado\n";
k=t;
mientras(k! =NULL)
{if(num==k-gt;project_num)
{flag=1;coutlt;lt;k-gt;numlt;lt;"\t\ t"lt;lt.k-gt;project_numlt;lt;"\t"lt;lt;k-gt;namelt;lt;"\t"lt;lt;k-gt;scorelt;lt;endl;}
k=k-gt; siguiente
}
If( k==NULLamp; amp; flag==0)
coutlt;lt; "No se pudo encontrar la información que buscaba\n";
}
void find3
(struct school *t)
{struct school *k;int flag=0;char name[20];
coutlt;lt "Por favor ingrese la información que está buscando ( n)";
coutlt;lt; "Por favor ingrese su nombre (n)";cingt;gt;name;
coutlt;lt; "Número de escuela \t programa \ t nombre \t grado \n ";
k=t;
mientras(k!=NULL)
{if(!strcmp(nombre,k -gt ;nombre))
{flag=1;coutlt;lt;k-gt;numlt;lt;"\t\t"lt;lt; "k- gt;project_numlt;lt;" \t "lt;lt;k-gt;namelt;lt;"\t"lt;lt;k-gt;scorelt;lt;endl;}
k=k-gt;next;
}
if(k= =NULL&flag==0)
coutlt;lt; "No se pudo encontrar la información que estaba buscando\ n" ;
}
struct school *deletes1(struct school *t)
{struct school *k, *k_head; int flag=0; int num;
coutlt;lt; "Ingrese la información que desea eliminar\n";
coutlt;lt; "Ingrese el número de la escuela\n"; num;
k=t;
mientras(k!
{if(k-gt;num==num)
{bandera =1;
si(k==t)
{t=t-gt;siguiente;}
si no
k_head -gt; siguiente=k-gt;
}
else
k_head=k
k=k; -gt ;siguiente;
}
if(k==NULLamp;amp;flag==0)
coutlt;lt; el mensaje que deseas eliminar\n";
return t;
}
struct school *deletes2(struct school *t)
{struct school *k, *k_head; int flag=0; int num;
cout lt; "Ingrese la información que desea eliminar (n)"; >coutlt; lt; "Por favor ingrese el número del proyecto (n)"; cingt; num; =NULL)
{if(k-gt; project_num== num)
{flag=1;
if(k==t) p>
{t=t-gt; siguiente;}
else
k_head-gt; siguiente=k-gt; p>
else
k_ head=k;
k=k-gt; siguiente
}
if( k==NULLamp;amp;flag==0)
coutlt;lt; "No puedo encontrar el mensaje que estás intentando eliminar\n";
return t;
}
struct school *deletes3(struct school *t)
{struct school *k, *k_head; int flag=0; ];
coutlt;lt; "Ingrese la información que desea eliminar\n";
coutlt;lt; "Ingrese el nombre \n";cingt ;gt;nombre;
k=t;
mientras(k!=NULL)
{if(!strcmp(k-gt;nombre,nombre ))
{flag=1;
if(k==t)
{t=t-gt;next;}
else
k_head-gt; siguiente=k-gt;
}
else
k_head=k;
k=k-gt; siguiente
}
if(k==NULLamp; amp; flag==0)
coutlt;lt; "No puedo encontrar el mensaje que desea eliminar\n";
return t
}
struct statitcs
{
int bandera;
int total;
int no;
estructura estadísticas *siguiente;
};
int total1(struct escuela *t, int n)
{ struct escuela *p;
p=t;
int suma=0;
mientras(p! =NULL)
{if(p-gt;num==n)
suma =p-gt;puntuación;
p=p-gt; siguiente;
}
suma de retorno
}
intercambio nulo (estructura de estadísticas *t1, estructura de estadísticas *t2)
p>{struct estadísticas *t;
t=(struct estadísticas *)malloc(len1);
t-gt; flag=t1-gt; -gt;flag=t2-gt;flag;t2-gt;flag=t-gt;flag;
t-gt;total=t1-gt;total;t1-
gt; total=t2-gt; total; t2-gt; total=t-gt;
}
estructura de estadísticas *set_place(estructura de estadísticas *t)
{int i=1;
estadísticas de estructura *p, *q;
p=t;
if(p==NULL) return t;
else
{p-gt;no=1;
mientras(p-gt;next!=NULL)
{q=p-gt; siguiente;
a: if ((q-gt; total==p-gt; total))
{q-gt; =p-gt;no;q=q-gt;siguiente;
if(q==NULL) return t;
ir a;}
if(q==NULL) devuelve t;
else{p=q;i;p-gt;no=i;}
}
}
}
return t;
}
estructura de estadísticas * sort( estructura de estadísticas *t)
{struct estadísticas *p1, *p2;
p1=t;
mientras(p1!=NULL)
{ p2=p1-gt;
mientras(p2!=NULL)
{if((p1-gt; total)lt; (p2-gt; total))
intercambiar( p1, p2);
p2=p2-gt;siguiente;
}
p1=p1-gt;siguiente;
}
return t;
}
void show(struct statitcs *t, struct school *t1)
{struct statitcs * p;
p=t;
mientras(p!lt;lt;lt;lt;lt;lt;lt;endl;
display(t1 , p-gt;flag);
coutlt;lt;"\total"lt;lt;"\totallt;lt;p-gt;totallt;lt;"\total rango: "lt;lt ;p-gt;nolt;lt;endl;
p=p-gt;siguiente;
}
}
estructura estadísticas *creat(struct school *t)
{int a[100];int i=0;int flag1;
estructura estadísticas *head, *rear, *p;
estructura escuela *k; k=t;
head=NULL; if(k==NULL)return NULL
p=(estructura estadísticas *) malloc(len1);
p-gt; flag=k- gt;num;
p-gt; total=total1(t, p-gt; flag); p>
p-gt; p>
si(h
ead==NULL)
head=p; rear=p;
k=k-gt; siguiente;
a=p-gt; /p>
mientras(k!=NULL)
{flag1=1;
for(int m=0;mlt;=i; m )
if(a[m]==k-gt;num)
bandera1=0;
if(bandera1)
{p=(estructura estadísticas *)malloc(len1);
p-gt; bandera=k-gt; a=p-gt; > p-gt; total=total1(t, p-gt; bandera);
trasero-gt; siguiente=p; trasero=p;}
k=k-gt ; siguiente;
}
rear-gt; siguiente=NULL
regresar cabeza; > void swap1(struct school *t1, struct school *t2)
{struct school *t;
t=(struct school *)malloc(len);
t-gt;num=t1-gt;num;t1-gt;num=t2-gt;num;t2-gt;num=t-gt;num;
t-gt; puntuación =t1-gt;puntuación;t1-gt;puntuación=t2-gt;puntuación;t2-gt;puntuación=t-gt;puntuación;
strcmp(t-gt;nombre,t1-gt ; nombre); strcmp(t1-gt; nombre, t2-gt; nombre); strcmp(t2-gt; nombre, t-gt; nombre); escuela * sort1( struct escuela *t, int n)
{struct escuela *p1, *p2
p1=t
mientras(p1! = NULL)
{ p2=p1-gt;siguiente;
mientras(p2!=NULLamp;amp;p1-gt;project_num==namp;amp;p2-gt; num_proyecto==n)
{if((p1-gt; puntuación)lt; (p2-gt; puntuación))
swap1(p1, p2);
p2=p2-gt;siguiente;
}
p1=p1-gt;siguiente;
}
regresar t;
}
/*struct escuela *setplace1(struct escuela *t, int n)
{int i=1;
estructura escuela *p, *q;
p=t;
if(p==NULL)return t
else
{if(p-gt;project_num==n)
p-gt;no=1;
mientras(p -gt;siguiente! =NULL)
{q=p-gt;
siguiente;
a: if ((q-gt; puntuación==p-gt; puntuación)amp;amp;p-gt;project_num==namp;amp;q-gt;project_num== n )
{q-gt;no=p-gt;no;q=q-gt;siguiente;
if(q==NULL) devuelve t;
ir a;}
if(q==NULL) devolver t;
else{p=q;
if((q- gt ;puntuación==p-gt;puntuación)amp;amp;p-gt;project_num==namp;amp;q-gt;project_num==n)
{i;p-gt;no = i;}}
}
}
regresar t;
}
*/ p >
void show1(struct escuela *t, int n)
{struct escuela *p;
p=t;
coutlt;lt ; " p>coutlt;lt;p-gt;numlt;lt;"\t\t"lt;lt;p-gt;namelt;lt;"\t"lt;lt;p-gt;scorelt;lt; " \t"lt;lt;endl;
p=p-gt;next;
}
}
void sort_display ( struct escuela *t)
{int a[100]; int i=0; int flag1;
struct escuela *k=t; if(k== NULL)coutlt;lt; "NULL\n";
a=k-gt;project_num;
k=k-gt;siguiente;
a=k-gt;proyecto_num;
k=k-gt;siguiente;
p>mientras(k!=NULL)
{flag1=1;
for(int m=0; m lt; = i; m )
if(a[m]==k-gt;project_num) p>
bandera1=0;
if(bandera1)
{i;a =k-gt;project_num;}
k=k- gt;siguiente;
}
for(int m=0;mlt;=i; m )
{t=sort1(t, a[m ]);
//setplace1(t, a[m]);
show1( t, a[m]);
}
}
}
}
void main()
{struct school *t; struct statitcs *s; char a; int bandera=1, bandera1=1, bandera2=1;
t=NULL
coutlt;lt;"\t\t******; ** ******************************* *************\n";
coutlt;*Por favor, no piratee*t *Por favor, no piratee*t *Por favor, no piratee*n ";
p>
coutlt;lt;"/t\t\t Información del producto:\ Por favor, no piratee*t *Por favor, no piratee*t *Por favor, no piratee*n "; p>coutlt;lt;"/t\t\t*************************************** ***** *******************\n";
coutlt;lt;"\t\t******* *********** *************************************\n ";
coutlt;lt; "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\ t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\ t\t\t\t\t\t\t\t\t\t1: t2: Agregar información (n\t\t3: Eliminar información (n\t \t4: Buscar información (n\t\t5: Ordenar y mostrar(n\t\t6:Salir\n";
coutlt;lt;"\t\t\t\t*** ************ **************** ********************** \n";
cingt;gt; a;
mientras(a!='6')
{cambiar(a)
{case'1': flag=0; flag1=0 ; flag2=0;
t= insert();
coutlt;lt; \n";
print(t) ;break;
case'2': coutlt;lt; "*************** *********\n1: Agregar un mensaje\n2: Salir\n* *** *************\n";
cingt ;gt;a;
mientras(a!='2')
{cambiar(a)
{caso '1': t=add( t); break;
predeterminado: coutlt;lt;" (corrija Enter) "break"
}
coutlt;lt; "*** ***************\n1: Agregar un mensaje \ n2:Salir \n******************\n";
cingt;gt;a;
}
print(t);
romper;
caso'3': if(bandera ==1)
{coutlt;lt;"\t\tPor favor, introduce los datos primero\n";break;}
coutlt;lt;"\t\t*** *** ******************* ****************************\n ";
coutlt;lt;"\n\t\t\ t\t1: Eliminar información sobre una escuela, un programa, un nombre y un logro \n\t\t2: Eliminar información sobre
una escuela \n\t\t3:Eliminar información sobre una información sobre un elemento \n\t\t4:Eliminar información sobre un nombre\nt\t5:Salir\n";
coutlt;lt; "/t\t********************************************* *** ******\n";
cin gt;gt;a;
mientras(a!='5')
{switch( a)
{case'1': t=deletes(t); coutlt;lt; "mensaje eliminado\n"; print(t); case'2 ': t = elimina1(t); coutlt; lt; "Información después de la eliminación\n"; print(t);
case '3': t = elimina2(t); coutlt; lt ; "Información eliminada (n)"; print(t); break;
caso' 4': t=deletes3(t); coutlt;lt; print(t);
predeterminado: coutlt; "Por favor ingrese \n correctamente"; \t\t ********************************************** * *****\n";
coutlt;lt;"/t\t1: Eliminar información sobre una escuela en particular, un programa en particular, un nombre en particular y un grado en particular\n\t2 : t3: Eliminar la información de un proyecto (t4: Eliminar la información de un nombre (t5: Salir)";
coutlt;lt;" (t\t********** ******** ******************************************* \n )";
cingt;gt;a;
}.
break;
case'4': if(flag2==1)
{coutlt;lt;"/t\tPor favor, introduzca los datos primero\n ";break;}
coutlt;lt;"/t\t\t4: Buscar información sobre un nombre en particular\nt\t5: Salir\n";
coutlt;lt ;"/t\t********************************************* ***** *******\n";
cingt;gt;a;
mientras(a!='5')
{cambiar( a)
{case'1':find(t);break;
case'2':find1(t);break;
caso' 3': buscar2 (t);
caso '4': buscar3 (t);
valor predeterminado: coutlt; \n correctamente"; break;
}
coutlt;lt;"\t\t********************* ***** ****************************\n";
coutlt;lt;"\n \t\t\ t\t1: Encuentra toda la información \n\t\t\t\t2: Encuentra información sobre una escuela en particular\nt\t3: Encuentra información sobre un programa en particular\nt\t4: Encuentra información sobre un programa en particular nombre\nt\t5 .Salir \n";
coutlt;lt;"\t\t*********************** ***** *************************\n";
cingt;gt;a;
} p>
break;
case'5': if(flag1==1)
{coutlt;lt;"\t\tPor favor ingrese los datos primero\n"; break;}
coutlt;lt;"\t\t************************ *********** ******\n";
coutlt;lt;"\t\t1: Ordenar por calificaciones escolares totales \nt\t2: Ordenar por grados superiores en cada programa \nt\t3: Salir \n";
coutlt;lt;"\t\t****************** *********** *******\n n";
cingt;gt;a;
mientras(a! ='3')
{switch(a)
{case'1': s=creat(t); s=sort(s); ;mostrar(s,t);romper;
caso'2': sort_display(t);romper;
predeterminado
t:coutlt;lt; "Ingrese \n correctamente";break;
}
coutlt;lt;"\t\t********** ** ********** *******************\n";
coutlt;lt;"\t\t1: Ordenar por rendimiento escolar general \n\t\t2: Ordenar por rendimiento mayor o menor en cada programa 3: Salir";
coutlt;lt;"( t\t******** ************** **********************\n )";
cingt; gt;a;
}
break;
predeterminado: coutlt;lt; "Ingrese \n correctamente";
}
coutlt;lt;" ********\n";
cingt;gt;a;
}
coutlt;lt; "Gracias por usar\n";
}
#includelt;stdio.hgt; //Archivos de encabezado de entrada y salida estándar
#includelt; string.hgt; //Incluye archivo de encabezado de procesamiento de función de cadena
#includelt; //incluye archivo de encabezado de función dinámica de almacenamiento y liberación p>#define N 10000
struct air //definir matriz de estructuras <
{
int num;
char start[ 20];
char over[20];
tiempo de char[10];
int recuento
} s[N] ];
int i;
int m=0
#define PRINT "-d12s12s10s12d\n", s[i].num , s[ i].start, s[i].over, s[i].time, s[i].count //Definir el formato de salida
void input() //Ingresar información del vuelo
void input(); p>
void print(); //Salir información del vuelo
void save(); //Guardar información del vuelo
void read(); /p>
void search(); //Buscar información de vuelo
void shanchu(); //Eliminar información de vuelo
void dingpiao() // Información de reserva
void tuipiao(); //Información de reembolso
void xiugai(); //Modificar información
void main()
{
int j;
printf(" ★---Hola, ¡bienvenido al Sistema de Gestión de Aviación Civil de China! ---★\n");
printf("=============
==================================================== =================\n");
hacer
{
printf(" -- ------ ☆ 1. Ingresar información de vuelo☆ --------\n"
" -------- ☆ 2. Explorar información de vuelo☆ --- -----\n\n"
" -------- ☆ 3. Modificar información de vuelo☆ --------\n\n"
" -- ------ ☆ 4. Buscar información de vuelo ☆ --------\n\n"
" -------- ☆ 5 .Eliminar información de vuelo☆ --------\n\n"
" -------- ☆ 6. Información de reserva☆ --------\n \n"
" -------- ☆ 7. Información de reembolso ☆ -- -------\n\n"
" -- - ----- ☆ 0.Salir ☆ -------- \n\n");
printf("=============== = ================================================== = = ==============\n");
printf("Seleccione del 0 al 7 para finalizar con enter: \n\n");< / p>
scanf("d",amp;j);
switch(j)
{
caso 1: entrada(); / Llamar al módulo de entrada
break;
caso 2: print(); // Llamar al módulo de impresión
break;
caso 3: xiugai(); // Llama al módulo de modificación
break;
caso 4: search(); // Llama al módulo de búsqueda
break; ;
caso 5:
caso 6: dingpiao(); //Llamar al módulo de reserva
break
caso 7; tuipiao() ; //Llamar al módulo de reembolso
break;
caso 8: no.//llamar al módulo de reembolso
break;
caso 0:;
descanso
}
} while(j!=0); //fin del juicio
printf ("¡Gracias por usarlo, adiós! \n");
}//Fin de la función principal
void input()//imprimir programa del módulo
{
char f[]="2008china"; //Establecer contraseña
int y;
printf("Ingrese la contraseña y finalice con enter:\n\n");
p>scanf("s", f); //Leer contraseña
if(strcmp(f, "2008china")=
=0)
{
printf("Ingrese la información del vuelo en orden (dígito 0 de la tarifa aérea para finalizar la entrada):\n\n"
"Para terminar de ingresar la información, escriba w para finalizar con enter \n\n"); //imprima el mensaje de solicitud
printf("-------------- -------------------------------------------------- ----------\n");
for(i =0; ilt; N; i )
{
printf ("Ingrese el número de vuelo:\n");
scanf("d",amp;s[i].num //Lea el número de vuelo
printf); ("Ingrese la estación de inicio:\n");
scanf("s",s[i].start);//lea la estación de inicio
printf(" Ingrese la estación final:\n");
scanf("s",s[i].over);//lea la estación final
printf("Ingrese la estación final la hora:\n");
scanf("s", s[i].time);//leer la hora
printf("Por favor, introduzca el número de entradas (el número de tickets es 0 para finalizar la entrada):\n",m);
scanf("d",amp;s[i].count);//leer el número de tickets
m;
printf("Se ha ingresado el mensaje dth, ¿desea continuar? Presione cualquier tecla para continuar, presione 0 para finalizar",
);scanf("d",&y);
si(y==0)