Red de conocimiento informático - Espacio del host - Quiere un programa o módulo de código con más de 5000 líneas (espero que esté escrito en lenguaje C++ o C)

Quiere un programa o módulo de código con más de 5000 líneas (espero que esté escrito en lenguaje C++ o C)

#include //Archivos de encabezado de entrada y salida estándar

#include //Incluye archivos de encabezado de procesamiento de funciones de cadena

#include

#include //Contiene archivos de encabezado de función de liberación y almacenamiento dinámico

struct FeiJiDingPiao//Definir matriz de estructura

{

char AirNo[4];//Definir el número de vuelo

char StartPos[6];//Definir el origen

char EndPos [6];//Definir el destino

char StartTime[14]; //aammddwwhhmmss

char Mount[4];//Definir el número de tickets

char Precio[5];//Definir tarifa

unsigned char a;//Definir variable sin firmar a

};

struct FeiJiDingPiao s,ss [50];

tamaño de archivo largo(FILE *stream)

{

curpos largos, longitud;

curpos = ftell (flujo );

fseek(stream, 0L, SEEK_END);

length = ftell(stream);

fseek(stream, curpos, SEEK_SET

fseek(stream, curpos, SEEK_SET); p>

longitud de retorno;

}

void disp()//Información de navegación

{ char i;

printf ("\n-");for(i=0;i<4;i++) printf("%c",s.AirNo[i]);

printf("-") ; (i=0;i<6;i++) printf("%c",s.StartPos[i]);

printf("-"); for(i=0;i< 6; i++) printf("%c",s.EndPos[i]);

printf("-"); for(i=0;i<14;i++) printf("%c ", s.StartTime[i]);

printf("-"); for(i=0;i<4;i++) printf("%c",s.Mount[i]) ;

printf("-"); for(i=0;i<5;i++) printf("%c",s.Precio[i]);

/ / printf ("\n");

}

void Pstrcpy( char i)//

{ char j;

for( j=0;j<4;j++) s.AirNo[j]=ss[i].AirNo[j];

for(j=0;j<6;j++) s. j]=ss[i].PosInicio[j];<

/p>

for(j=0;j<6;j++) s.EndPos[j]=ss[i].StartPos[j];

for(j=0;j< 14;j++) s.StartTime[j]=ss[i].StartPos[j];

for(j=0;j<4;j++) s.Mount[j]=ss[i ].StartPos[j];

for(j=0;j<5;j++) s.Price[j]=ss[i].StartPos[j];

s.a=0;

}

int write_ssToFile (recuento de caracteres)//Agregar registro

{

ARCHIVO *stream;

char i;

if ((stream = fopen("record.txt", "w+")) == NULL) /* abrir archivo TEST.$$$ */

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

devuelve 1;

}

for(i=0;i

fwrite(&ss[i], 40, 1, stream); /* escribir estructuras en el archivo */

fclose(stream); /* cerrar archivo */

printf("\n ¡Escribió el registro correctamente!");

getch();

return 0;

}

char Func31(char n)

{ char i;

printf("\n¡Agregar registro!\ n");

printf("\nAirNo[4]"); for(i=0;i<4;i++) ss[n].AirNo[i]=getche();

printf("\nStartPos[6]"); for(i=0;i<6;i++) ss[n].StartPos[i]=getche();

printf ("\nEndPos[6]"); for(i=0;i<6;i++) ss[n].EndPos[i]=getche();

printf("\nStartTime[14] ]");for(i=0;i<14;i++)ss[n].StartTime[i]=getche();

printf("\nMontaje[4]"); for( i=0;i<4;i++) ss[n].Mount[i]=getche();

printf("\nPrecio[5]"); 5;i++) ss[n].Price[i]=getche();

ss[n].a=0;

do{printf("\nConfirmar Y/ N ?");

i=getche

();

} while((i!='Y')&(i!='y')&(i!='N')&(i!='n'));

if((i=='Y')|(i=='y')) devuelve 1;

si no, devuelve 0;

}

int Insert_i(char no_to_delete)//Insertar información

{

ARCHIVO *stream;

// struct mystruct s; p>

char i,j,k=0;

long curpos,Longitud;

if ((stream = fopen("Record.txt", "r ") )

== NULL)

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

devolver 1;

}

Longitud=tamaño del archivo(flujo);

Longitud/=41;

printf("\nallí son % d Registros\n",Longitud);

if(Longitud>=no_to_delete)

{ for(j=0,i=0;j

curpos=41*j; //*0 *1 *2

if(j==no_to_delete){

if(Func31(i)= =1 ) {k=1; Pstrcpy(i); disp(); i++;}

}

fseek(flujo, curpos, SEEK_SET);

fread (&ss[i], 40, 1, flujo);

//i++;

Pstrcpy(i); > }

if(k==1) write_ssToFile(Longitud+1);

}

fclose(stream);

return 0 ;

}

int delet_i(char no_to_delete)//Eliminar registro

{

ARCHIVO *stream;

// struct mystruct s;

char i,j;

long curpos,Longitud;

if ((stream = fopen("Registro .txt ", "r"))

== NULL)

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

p>

devolver 1;

}

Longitud=tamañodearchivo(flujo);

Longitud/=41;

printf("\nhay %d registros\n",Longitud);

if (Longitud>=no_to_delete)

{ for(j=0,i=0;j

curpos=41*j; *2

if(j!=no_to_delete)

{fseek(stream, curpos, SEEK_SET);

fread(&ss[i], 40, 1 , secuencia);

//i++;

Pstrcpy(i); i++;

}

}

write_ssToFile(Longitud-1);

}

fclose(flujo);

devuelve 0;

}

int disp_all(void)//Buscar toda la información

{

ARCHIVO *stream;

// struct mystruct s;

char j;

long curpos,Longitud;

if ((stream = fopen("Record.txt", "r"))

== NULL)

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

devuelve 1;

}

Longitud=tamaño del archivo(flujo);

Longitud/=41;

printf("\nhay %d registros\n ",Longitud);

for(j=0;j

curpos=41*j; //*0 *1 *2

fseek(stream, curpos, SEEK_SET);

fread(&s, 40, 1, stream);

disp();

}

fclose(stream);

return 0;

}

int Read_all(void)//Leer toda la información

{

ARCHIVO *stream;

// struct mystruct s;

char j;

long curpos,Longitud ;

if ((stream = fopen("Record.txt", "r"))

== NULL

)

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

devuelve 1;

}

Longitud=tamaño del archivo(flujo);

Longitud/=41;

printf("\nhay %d registros\n",Longitud);

for(j=0;j

curpos=41*j; //*0 *1 *2

fseek(flujo, curpos, SEEK_SET);

fread(&ss[j], 41, 1, stream);

//disp();

}

fclose(stream);

return Longitud;

}

int write_all (unsigned char n)//Escribir información

{

ARCHIVO *stream;

char i;

if ((stream = fopen("record2.txt", "w")) = = NULL)

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

devuelve 1;

}

for(i=0;i

{//fseek(stream, curposT, SEEK_SET);

ss[i ] .a=0;

fwrite(&ss[i], 40, 1, stream /* escribe estructuras en el archivo */

}

fclose(stream); /* cerrar archivo */

printf("\n ¡Escribir todos los registros correctamente!");

getch();

return 0;

}

disp_i largo(largo No)

{ //No=0/1/2/3...

ARCHIVO *stream;

// struct mystruct s;

// char i;

long curpos,Longitud;

if ((stream = fopen("Record.txt", "r")) //Prueba el archivo abierto

== NULL)

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n");

return 1;

}

Longitud=filesi

ze(stream);

Longitud/=41;

if(Length>=No){

printf("\nNo.%d está en Registros ",No);

curpos=41*No; //*0 *1 *2

fseek(stream, curpos, SEEK_SET);//Buscar archivos

fread(&s, 40, 1, stream);//Leer el archivo

disp();}

else printf("\nNo.%d no es in Records",No);

fclose(stream); //Cerrar el archivo

return curpos;

}

int write_rewrite ( long curposT)//Reescribir información

{

ARCHIVO *stream;

// char i;

if (( stream = fopen("record.txt", "r+")) == NULL) /* Pruebe el archivo abierto*/

{

fprintf(stderr, "No se puede abrir la salida file.\n");

return 1;

}

fseek(stream, curposT, SEEK_SET);

fwrite ( &s, 40, 1, stream); /* Escribe *** en el archivo con cuerpo s*/

fclose(stream) /* Cierra el archivo*/

printf); ("\n ¡Agregar registro exitosamente!");

getch();

return 0;

}

int write_app( void)

{

ARCHIVO *stream;

// char i;

if ((stream = fopen("record. txt", "a+")) == NULL) /* Pruebe el archivo abierto*/

{

fprintf(stderr, "No se puede abrir el archivo de salida.\n") ;

return 1;

}

fseek(stream, 0L, SEEK_END);

fwrite(&s, 40, 1, stream ); /*Escribir *** en el archivo*/

fclose(stream); /*Cerrar el archivo*/

printf("\n ¡Agregar registro correctamente!") ;

getch();

devuelve 0;

}

char Func11(void)

{ char i;

printf("\nAgregar R

ecord!\n");

printf("\nAirNo[4]"); for(i=0;i<4;i++) s.AirNo[i]=getche();

printf("\nStartPos[6]"); for(i=0;i<6;i++) s.StartPos[i]=getche();

printf("\ nEndPos[6]"); for(i=0;i<6;i++) s.EndPos[i]=getche();

printf("\nStartTime[14]");for( i=0;i<14;i++)s.StartTime[i]=getche();

printf("\nMount[4]"); ) s.Mount[i]=getche();

printf("\nPrecio[5]"); for(i=0;i<5;i++) s.Price[i]=getche ();

s.a=0;

do{printf("\nConfirmar S/N ?");

i=getche();

}mientras((i!='Y')&(i!='y')&(i!='N')&(i!='n'));

if((i=='Y')|(i=='y')) devuelve 1;

si no, devuelve 0;

}

void Func1(void)

{ char i;

i=Func11();

if(i==1) write_app();

}

void Func2(void)

{ char m,i;

long curposT;

printf( "\n¡Modificar registro!\n");

printf("\n Ingrese el número para mostrar\n");

m=getche();

if((m>='0')|(m<=9)) curposT=disp_i(m-'0');

getch();

printf ("\nFunc1 iniciada!\n");

printf("\nAirNo[4]"); for(i=0;i<4;i++) s.AirNo[i]=getche( );

printf("\nStartPos[6]"); for(i=0;i<6;i++) s.StartPos[i]=getche();

printf("\nEndPos[6]"); for(i=0;i<6;i++) s.EndPos[i]=getche();

printf("\nStartTime[14]" );for(i=0;i<14;i++)s.StartTime[i]=getche();

printf("\nMount[4]"); <4;yo++)

s.Mount[i]=getche();

printf("\nPrecio[5]"); for(i=0;i<5;i++) s.Price[i]=getche( );

s.a=0;

do{printf("\nConfirmar S/N ?");

i=getche();

}mientras((i!='Y')&(i!='y')&(i!='N')&(i!='n'));

if((i=='Y')|(i=='y'))

write_rewrite (curposT);

}

void Func3 (void)

{ char m;

printf("\n¡Insertar registro!\n");

m=getche();

if((m>='0')&(m<='9'))

Insert_i(m-'0');

// getche( );

}

void Func4(void)

{ char m;

printf("\n¡Eliminar registro!\n" );

m=getche();

if((m>='0')&(m<='9')) eliminar_i(m-'0') ;

getche();

}

void disp_title(void)

{

printf(" \nNúmero de vuelo\tEstación de origen\tEstación terminal\tTarifa fija del miembro de hora de salida");

}

void disp_OneRecord(char num)

{ char i;

printf("\n ");for(i=0;i<4;i++) printf("%c",ss[num].AirNo[i]) ;

printf(" /");for(i=0;i<6;i++) printf("%c",ss[num].StartPos[i]);

printf(" / "); for(i=0;i<6;i++) printf("%c",ss[num].EndPos[i]);

printf(" / "); for(i =0;i<14;i++) printf("%c",ss[num].HoraInicio[i]);

printf(" /"); ;i++) printf("%c",ss[num].Monte[i]);

printf(" /"); for(i=0;i<5 ;i++)printf(" %c",ss[num].Precio[i]);

// printf("\n");

}

void search_by_endpos( ) //Función completada 2/5

{

char Tplace[24],i,n;

p>

int count;

count=Read_all(); //Leer todos los registros en la estructura ss[0...49]

printf("\nPor favor ingrese Consulta el lugar de llegada del vuelo: ");

for(i=0;i<6;i++)

Tplace[i]=getche();//scanf( "%s ",Tdate);

disp_title(); //Imprimir título de la información

/*for (i=0;i

if (strcmp(ss[i]. StartTime,Tdate)==0) disp_OneRecord(i */

for (i=0;i<); p> if ((ss[i]. EndPos[0]== Tplace[0])&&

(ss[i]. EndPos[1]== Tplace[1])&&

(ss[i]. EndPos[2]== Tplace[2])&&

(ss[i]. EndPos[3]== Tplace[3])&&

(ss[i]. EndPos[4]== Tplace[4])&&

(ss[i]. EndPos[5]== Tplace[5]))

disp_OneRecord(i);

printf("\nSalir (Y/N)?");do{n=getch();} while((n!='Y')&& (n! ='y'));

}

void search_by_date_and_endpos() //Función completada 3/5

{

char Tdate[14],Tplace[6],i,n;

int count;

count=Read_all() //Leer todos los registros en la estructura ss[0] .. .49]

printf("\nPor favor ingrese la fecha de consulta: ");

scanf("%s",Tdate);

printf (" \nIngrese la ubicación de llegada: ");

for(i=0;i<6;i++) Tplace[i]=getche();

disp_title() ; / /Imprimir título de información

for (i=0;i

if((ss[i]. StartTime[0]== Tdate[0] )&& (ss[i].EndPos[0]== Tplace[0])&&

(ss[i]. StartTime[1]== Tdate[1])&&(ss[i] .EndPos [1]== Tplace[1])&&

(ss[i]. StartTime[2]== Tdate[2])&&(ss[i].EndPos[2]==

Tplace[2])&&

(ss[i]. StartTime[3]== Tdate[3])&&(ss[i].EndPos[3]== Tplace[3])&&

(ss[i]. StartTime[4]== Tdate[4])&&(ss[i].EndPos[4]== Tplace[4])&&

( ss[i].StartTime[5]== Tdate[5])&&(ss[i].EndPos[5]== Tplace[5]))

disp_OneRecord(i); >

printf("\nSalir (Y/N)?");do{n=getch();} while((n!='Y')&&(n!='y'));

}

void search_by_Mount() //Función completada 4/5

{

char Max[6],i,n ;

int count;

count=Read_all(); //Lee todos los registros en la estructura ss[0...49]

printf("\ nPor favor ingrese el número de vuelo de consulta");

for(i=0;i<6;i++) Max[i]=getche();//scanf("%s",Tdate);< / p>

disp_title(); //Imprimir título de información

for (i=0;i

if((ss[i]. AirNo [ 0]== Max[0])&&

(ss[i]. AirNo[1]== Max[1])&&

(ss[i]. AirNo [ 2]== Max[2])&&

(ss[i]. AirNo[3]== Max[3])&&

(ss[i]. AirNo [ 4]== Max[4])&&

(ss[i]. AirNo[5]== Max[5]))

disp_OneRecord(i); información

printf("\nSalir (Y/N)?");do{n=getch();} while((n!='Y')&&(n!='y' ) );

}

long chg(char i)

{long n;

n=(ss[i]. HoraInicio [0]-'0')*10000

(ss[i].HoraInicio[1]-'0')*1000

(ss[i].HoraInicio [2]-'0')*100

(ss[i].HoraInicio[3]-'0')*10

(ss[i].HoraInicio [4]-'0')*1

(ss[i].StartTime[5]-'0');

return n

;

}

void order_by_date() //Función completada 5/5

{

long a[100], b[ 100];

int count;

int i,j;

long temp;

system("cls") ;/ /Borrar la pantalla

count=Read_all(); //Leer todos los registros en la estructura ss[0...49]

for(i=0;i

a[i]=chg(i);//Método de clasificación de burbujas

for(i=0;i

printf("\nLa matriz antes de ordenar es\n");

for(i=0;i

for(i=0;i

{

for(j=i;j

{

if(a[i]>a[j])

{

temp=a[i ] ;

a[i]=a[j];

a[j]=temp;

}

}< / p>

}

printf("\n");

for(i=0;i

printf( " %ld-",a[i]);

printf("\nLa matriz después de ordenar es\n");

for(j=0;j

for(i=0;i

if(a[j]==b[i]) disp_OneRecord(i); p>}

void search_by_date() // Muestra 1/5

{ char Tdate[14],i,n;

int count;

count=Read_all(); //Lee todos los registros en la estructura ss[0...49]

printf("\nIngrese la fecha de consulta: ");

scanf("%s",Tdate);

disp_title(); //Imprimir título de la información

/*for (i=0;i

if(strcmp(ss[i]. StartTime,Tdate)==0) disp_OneRecord(i */

for (i=0;i

if((ss[i]. HoraInicio[0]== FechaT[0]) &&

(ss[i]. HoraInicio[1]== FechaT[1 ])&&

(ss[i]. HoraInicio[2]== FechaT[2])&&

(ss[

i]. HoraInicio[3]== FechaT[3])&&

(ss[i]. HoraInicio[4]== FechaT[4])&&

(ss[. i]. StartTime[5]== Tdate[5]))

disp_OneRecord(i

printf("\nSalir (Y/N)?");do{ n=getch();} while((n!='Y')&&(n!='y'));

}

void Func5(void)

{char n;

printf("\nPor favor seleccione");

printf("\n 1) Cuente los números de vuelo según el tiempo, es decir, ¿qué los vuelos están disponibles en un día determinado ");

printf("\n 2) Cuente los números de vuelos a un destino determinado, es decir, qué vuelos están disponibles a un lugar determinado ");

printf("\n 3) Cuente los números de vuelos a un lugar determinado en un día determinado.");

printf("\n 4) Cuente el número máximo de pasajeros en cada vuelo de la aerolínea ");

printf("\n 5) Ordenar por tiempo de vuelo.

");

n=getche();

cambiar(n){

caso '1': search_by_date(); descanso;

caso '2': search_by_endpos();romper;

caso '3': search_by_date_and_endpos();romper;

caso '4': search_by_Mount();romper;

caso '5': order_by_date(); pausa;

predeterminado: pausa;

}

printf("\n salir cuando presione cualquier tecla "); getche();

}

void Func6(void)

{

printf("\ nCalcular!\n");

getche();

}

void main()

{ char n,m;

int count;

for(;;){

// clrscr();

system("CLS");

printf("\n\t\t\t Diseño del sistema de reserva de aeronaves");

printf("\n\t\t\t ------ Principal menú ------- ");

printf("\n\t\t\t 1. Ingrese la entrada");

printf("\n\ t \t\t 2. Modificar");

printf("\n\t\t\t 3. Insertar");

printf("\n\ t\t \t 4.DeleteEliminar");

printf("\n\t\t\t 5.Consultar");

printf("\n\ t\t\t 6. Cálculo estadístico Calcular");

printf("\n\t\t\t 7.Display_i Record");

printf("\n \t\t\ t 8.Display_all Record");

printf("\n\t\t\t 9.Reservado");

printf("\n\ t\t\t 0.Salir ");

n=getch();

cambiar(n)

{

caso '1': Func1(); romper; // Entrada

case '2': Func2(); // Modificar

case '3': Func3(); Insertar

case '4': Func4(); // Eliminar ok

case '5': Func5(); // *Consultar

<; p>

case '6': Func6(); break; // *Calcular

case '7': printf("\n Ingrese el número para mostrar\n");

m =getche();

if((m>='0')&(m<='9')) disp_i(m-'0');

getch( ); romper;

caso '8': disp_all(); getch(); romper;

caso '9': getch(); > case '0': break; //salir a DOS

case 'a':

case 'A': count=Read_all() //Leer todos los registros en el estructura ss[0...49]

disp_title(); //Imprimir título de información

for(m=0;m

disp_OneRecord(m); //Imprimir uno de todos los registros;

write_all(count); //Guardar n registros en un archivo;

romper;

caso 'b':

caso 'B':

predeterminado: descanso;

}

if(n ==' 0') descanso;

}

}

¿Es suficiente?