我想要一个5000行以上的代码程序或者模块(我想用C++或者C语言写)。

# include & ltstdio.h & gt//标准输入和输出头文件

# include & ltstring.h & gt//头文件包含字符串函数处理

# include & ltconio.h & gt

# include & ltstdlib.h & gt//包含动态存储和释放函数的头文件

struct feijing Piao//定义一个结构数组。

{

char air no[4];//定义航班号

char StartPos[6];//定义原点

char EndPos[6];//定义目的地

char start time[14];//yymmddwwhhmmss

char Mount[4];//定义机票数量。

收费价格[5];//定义票价

无符号字符a;//定义无符号变量a

};

struct FeiJiDingPiao s,ss[50];

长文件大小(文件*流)

{

长卷曲,长度;

curpos = ftell(流);

fseek(stream,0L,SEEK _ END);

length = ftell(流);

fseek(stream,curpos,SEEK _ SET);

返回长度;

}

Void disp()//浏览信息

{ char I;

printf(" \ n-");for(I = 0;我& lt4;i++) printf("%c ",s . air no[I]);

printf("-");for(I = 0;我& lt6;i++) printf("%c ",s . start pos[I]);

printf("-");for(I = 0;我& lt6;i++) printf("%c ",s . end pos[I]);

printf("-");for(I = 0;我& lt14;i++) printf("%c ",s . start time[I]);

printf("-");for(I = 0;我& lt4;i++) printf("%c ",s . Mount[I]);

printf("-");for(I = 0;我& lt5;i++) printf("%c ",s . Price[I]);

//printf(" \ n ");

}

void Pstrcpy( char i)//

{ char j;

for(j = 0;j & lt4;j++) s.AirNo[j]=ss[i]。AirNo[j];

for(j = 0;j & lt6;j++) s.StartPos[j]=ss[i]。start pos[j];

for(j = 0;j & lt6;j++) s.EndPos[j]=ss[i]。start pos[j];

for(j = 0;j & lt14;j++) s.StartTime[j]=ss[i]。start pos[j];

for(j = 0;j & lt4;j++) s.Mount[j]=ss[i]。start pos[j];

for(j = 0;j & lt5;j++) s.Price[j]=ss[i]。start pos[j];

s . a = 0;

}

Int write_ssToFile (char count)//添加一条记录

{

文件*流;

char I;

if ((stream = fopen("record.txt "," w+")= = NULL)/*打开文件测试。$$$ */

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

for(I = 0;我& lt数数;i++)

fwrite(& amp;ss[i],40,1,stream);/*将结构写入文件*/

fclose(流);/*关闭文件*/

printf("\n写入记录成功!");

getch();

返回0;

}

char Func31(字符n)

{ char I;

printf(" \ n挂起记录!\ n ");

printf(" \ Nair no[4]");for(I = 0;我& lt4;i++) ss[n]。AirNo[I]= getche();

printf(" \ nstart pos[6]");for(I = 0;我& lt6;i++) ss[n]。StartPos[I]= getche();

printf(" \ nend pos[6]");for(I = 0;我& lt6;i++) ss[n]。end pos[I]= getche();

printf(" \ n start time[14]");for(I = 0;我& lt14;i++)ss[n]。start time[I]= getche();

printf(" \ n mount[4]");for(I = 0;我& lt4;i++) ss[n]。mount[I]= getche();

printf(" \ n price[5]");for(I = 0;我& lt5;i++) ss[n]。price[I]= getche();

ss[n]。a = 0;

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

I = getche();

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

if((i=='Y')|(i=='y '))返回1;

否则返回0;

}

intinsert _ I(charno _ to _ delete)//插入信息。

{

文件*流;

//struct my struct s;

char i,j,k = 0;

长卷曲,长度;

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

== NULL)

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

Length=filesize(流);

长度/= 41;

printf(" \n有%d条记录\ n ",长度);

if(长度& gt=否_删除)

{ for(j=0,I = 0;j & lt长度;j++) {

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

if(j==no_to_delete){

if(func 31(I)= = 1){ k = 1;pstrcpy(I);disp();i++;}

}

fseek(stream,curpos,SEEK _ SET);

弗雷德(& ampss[i],40,1,stream);

//i++;

pstrcpy(I);disp();i++;

}

if(k = = 1)write _ ssto file(Length+1);

}

fclose(流);

返回0;

}

int Delete _ I(charno _ to _ Delete)//删除记录。

{

文件*流;

//struct my struct s;

char i,j;

长卷曲,长度;

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

== NULL)

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

Length=filesize(流);

长度/= 41;

printf(" \n有%d条记录\ n ",长度);

if(长度& gt=否_删除)

{ for(j=0,I = 0;j & lt长度;j++) {

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

如果(j!=否_删除)

{fseek(stream,curpos,SEEK _ SET);

弗雷德(& ampss[i],40,1,stream);

//i++;

pstrcpy(I);disp();i++;

}

}

write_ssToFile(长度-1);

}

fclose(流);

返回0;

}

Int disp_all(void)//浏览所有信息。

{

文件*流;

//struct my struct s;

char j;

长卷曲,长度;

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

== NULL)

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

Length=filesize(流);

长度/= 41;

printf(" \n有%d条记录\ n ",长度);

for(j = 0;j & lt长度;j++) {

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

fseek(stream,curpos,SEEK _ SET);

弗雷德(& amps,40,1,stream);

disp();

}

fclose(流);

返回0;

}

Int Read_all(void)//读取所有信息。

{

文件*流;

//struct my struct s;

char j;

长卷曲,长度;

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

== NULL)

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

Length=filesize(流);

长度/= 41;

printf(" \n有%d条记录\ n ",长度);

for(j = 0;j & lt长度;j++) {

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

fseek(stream,curpos,SEEK _ SET);

弗雷德(& ampss[j],41,1,stream);

//disp();

}

fclose(流);

返回长度;

}

Int write_all (unsigned char n)//写入信息。

{

文件*流;

char I;

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

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

for(I = 0;我& ltn;i++)

{//fseek(stream,curposT,SEEK _ SET);

ss[i]。a = 0;

fwrite(& amp;ss[i],40,1,stream);/*将结构写入文件*/

}

fclose(流);/*关闭文件*/

printf("\n写入所有记录成功!");

getch();

返回0;

}

长显示_i(长编号)

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

文件*流;

//struct my struct s;

//char I;

长卷曲,长度;

If ((stream = fopen ("record。txt "," r ")//测试打开的文件。

== NULL)

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

Length=filesize(流);

长度/= 41;

if(长度& gt=否){

printf(" \ n没有。%d在记录中”,否);

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

fseek(stream,curpos,SEEK _ SET);//查找文件

弗雷德(& amps,40,1,stream);//读入文件

disp();}

else printf(" \ n没有。%d不在记录中”,否);

fclose(流);//关闭文件

返回curpos

}

int write _ Rewrite(long Curpost)//重写信息。

{

文件*流;

//char I;

If ((stream = fopen ("record。txt "," r+")= = null)/*测试打开的文件*/

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

fseek(stream,curposT,SEEK _ SET);

fwrite(& amp;s,40,1,stream);/*将* *对象写入文件*/

fclose(流);/*关闭文件*/

printf("\n追加记录成功!");

getch();

返回0;

}

int write_app(void)

{

文件*流;

//char I;

If ((stream = fopen ("record。txt "," a+")= = null)/*测试打开的文件*/

{

fprintf(stderr,"无法打开输出文件。\ n ");

返回1;

}

fseek(stream,0L,SEEK _ END);

fwrite(& amp;s,40,1,stream);/*将* *对象写入文件*/

fclose(流);/*关闭文件*/

printf("\n追加记录成功!");

getch();

返回0;

}

char Func11(void)

{ char I;

printf(" \ n挂起记录!\ n ");

printf(" \ Nair no[4]");for(I = 0;我& lt4;i++)s . air no[I]= getche();

printf(" \ nstart pos[6]");for(I = 0;我& lt6;i++)s . start pos[I]= getche();

printf(" \ nend pos[6]");for(I = 0;我& lt6;i++)s . end pos[I]= getche();

printf(" \ n start time[14]");for(I = 0;我& lt14;i++)s . start time[I]= getche();

printf(" \ n mount[4]");for(I = 0;我& lt4;i++)s . Mount[I]= getche();

printf(" \ n price[5]");for(I = 0;我& lt5;i++)s . Price[I]= getche();

s . a = 0;

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

I = getche();

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

if((i=='Y')|(i=='y '))返回1;

否则返回0;

}

void Func1(void)

{ char I;

I = func 11();

if(I = = 1)write _ app();

}

无效功能2(无效)

{ char m,I;

长卷曲柱;

printf(" \ n修改记录!\ n ");

printf("\n显示输入号\ n ");

m = getche();

如果((m & gt= ' 0 ')|(m & lt;= 9))curposT = disp _ I(m-' 0 ');

getch();

printf("\nFunc1已启动!\ n ");

printf(" \ Nair no[4]");for(I = 0;我& lt4;i++)s . air no[I]= getche();

printf(" \ nstart pos[6]");for(I = 0;我& lt6;i++)s . start pos[I]= getche();

printf(" \ nend pos[6]");for(I = 0;我& lt6;i++)s . end pos[I]= getche();

printf(" \ n start time[14]");for(I = 0;我& lt14;i++)s . start time[I]= getche();

printf(" \ n mount[4]");for(I = 0;我& lt4;i++)s . Mount[I]= getche();

printf(" \ n price[5]");for(I = 0;我& lt5;i++)s . Price[I]= getche();

s . a = 0;

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

I = getche();

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

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

write _ rewrite(curposT);

}

无效功能3(无效)

{ char m;

printf(" \ n插入记录!\ n ");

m = getche();

如果((m & gt= ' 0 ')& amp;(m & lt='9'))

insert _ I(m-' 0 ');

//getche();

}

无效功能4(无效)

{ char m;

printf(" \ n删除记录!\ n ");

m = getche();

如果((m & gt= ' 0 ')& amp;(m & lt= ' 9 '))delet _ I(m-' 0 ');

getche();

}

void disp_title(无效)

{

printf(" \ n航班号\ t始发站\ t终点站\ t出发时间成员的固定票价");

}

void disp_OneRecord(字符编号)

{ char I;

printf(" \ n ");for(I = 0;我& lt4;i++) printf("%c ",ss[num].air no[I]);

printf("/");for(I = 0;我& lt6;i++) printf("%c ",ss[num].StartPos[I]);

printf("/");for(I = 0;我& lt6;i++) printf("%c ",ss[num].EndPos[I]);

printf("/");for(I = 0;我& lt14;i++) printf("%c ",ss[num].start time[I]);

printf("/");for(I = 0;我& lt4;i++) printf("%c ",ss[num].mount[I]);

printf("/");for(I = 0;我& lt5;i++)printf("%c ",ss[num].price[I]);

//printf(" \ n ");

}

Void search_by_endpos() //完成函数2/5

{

char Tplace[24],I,n;

int计数;

count = Read _ all();//将所有记录读取到结构ss[0...49]

printf(" \ n请输入航班到达地点:");

for(I = 0;我& lt6;i++)

t place[I]= getche();//scanf("%s ",Tdate);

disp _ title();//打印信息标题

/* for(I = 0;我& lt数数;i++)

if(strcmp(ss[i].StartTime,Tdate)= = 0)disp _ one record(I);*/

for(I = 0;我& lt数数;i++)

if((ss[i].EndPos[0]= = t place[0])& amp;& amp

(ss[i]。EndPos[1]= = t place[1])& amp;& amp

(ss[i]。EndPos[2]= = t place[2])& amp;& amp

(ss[i]。EndPos[3]= = t place[3])& amp;& amp

(ss[i]。EndPos[4]= = t place[4])& amp;& amp

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

disp _ one record(I);

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

}

void search _ by _ date _ and _ end pos()//完成函数3/5

{

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

int计数;

count = Read _ all();//将所有记录读取到结构ss[0...49]

printf(" \ n请输入查询日期:");

scanf("%s ",Tdate);

printf(" \ n请输入到达地点:");

for(I = 0;我& lt6;i++)t place[I]= getche();

disp _ title();//打印信息标题

for(I = 0;我& lt数数;i++)

if((ss[i].start time[0]= = Tdate[0])& amp;& amp(ss[i]。EndPos[0]= = t place[0])& amp;& amp

(ss[i]。start time[1]= = Tdate[1])& amp;& amp(ss[i]。EndPos[1]= = t place[1])& amp;& amp

(ss[i]。start time[2]= = Tdate[2])& amp;& amp(ss[i]。EndPos[2]= = t place[2])& amp;& amp

(ss[i]。start time[3]= = Tdate[3])& amp;& amp(ss[i]。EndPos[3]= = t place[3])& amp;& amp

(ss[i]。start time[4]= = Tdate[4])& amp;& amp(ss[i]。EndPos[4]= = t place[4])& amp;& amp

(ss[i]。start time[5]= = Tdate[5])& amp;& amp(ss[i]。EndPos[5]== Tplace[5])

disp _ one record(I);

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

}

Void search_by_Mount() //完成函数4/5

{

char Max[6],I,n;

int计数;

count = Read _ all();//将所有记录读取到结构ss[0...49]

printf(" \ n请输入航班号");

for(I = 0;我& lt6;i++)Max[I]= getche();//scanf("%s ",Tdate);

disp _ title();//打印信息标题

for(I = 0;我& lt数数;i++)

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

(ss[i]。AirNo[1]= = Max[1])& amp;& amp

(ss[i]。air no[2]= = Max[2])& amp;& amp

(ss[i]。air no[3]= = Max[3])& amp;& amp

(ss[i]。air no[4]= = Max[4])& amp;& amp

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

disp _ one record(I);//打印信息

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

}

长chg(字符I)

{龙n;

n=(ss[i]。start time[0]-' 0 ')* 100000+

(ss[i]。start time[1]-' 0 ')* 10000+

(ss[i]。StartTime[2]-'0')*1000+

(ss[i]。StartTime[3]-'0')*100+

(ss[i]。StartTime[4]-'0')*10+

(ss[i]。start time[5]-' 0 ');

返回n;

}

Void order_by_date() //完成函数5/5

{

长a[100],b[100];

int计数;

int i,j;

长期温度;

系统(“cls”);//清除屏幕

count = Read _ all();//将所有记录读取到结构ss[0...49]

for(I = 0;我& lt数数;i++)

a[I]= chg(I);//冒泡排序方法

for(I = 0;我& lt数数;i++)b[I]= a[I];

printf(" \ n排序前的数组是\ n ");

for(I = 0;我& lt数数;i++) printf("%ld ",a[I]);

for(I = 0;我& lt数数;i++)

{

for(j = I;j & lt数数;j++)

{

if(a[I]& gt;a[j])

{

temp = a[I];

a[I]= a[j];

a[j]= temp;

}

}

}

printf(" \ n ");

for(I = 0;我& lt数数;i++)

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

printf(" \ n排序后的数组是\ n ");

for(j = 0;j & lt数数;j++)

for(I = 0;我& lt数数;i++)

if(a[j]= = b[I])disp _ one record(I);

}

void search _ by _ date()//template 1/5

{ char Tdate[14],I,n;

int计数;

count = Read _ all();//将所有记录读取到结构ss[0...49]

printf(" \ n请输入查询日期:");

scanf("%s ",Tdate);

disp _ title();//打印信息标题

/* for(I = 0;我& lt数数;i++)

if(strcmp(ss[i].StartTime,Tdate)= = 0)disp _ one record(I);*/

for(I = 0;我& lt数数;i++)

if((ss[i].start time[0]= = Tdate[0])& amp;& amp

(ss[i]。start time[1]= = Tdate[1])& amp;& amp

(ss[i]。start time[2]= = Tdate[2])& amp;& amp

(ss[i]。start time[3]= = Tdate[3])& amp;& amp

(ss[i]。start time[4]= = Tdate[4])& amp;& amp

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

disp _ one record(I);

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

}

无效功能5(无效)

{ char n;

printf(" \ n请选择");

Printf("\n 1)按时间统计航班号,即某一天有哪些航班。");

Printf("\n 2)统计某个目的地的航班号,即哪些航班可以到达某地。");

Printf("\n 3)统计某一天到某地的航班号。");

Printf("\n 4)计算该航空公司每个航班的最大乘客人数。);

Printf("\n 5)按航班时间排序。);

n = getche();

开关(n){

事例“1”:search _ by _ date();打破;

事例“2”:search _ by _ end pos();打破;

案例“3”:search _ by _ date _ and _ end pos();打破;

案例“4”:search _ by _ Mount();打破;

事例“5”:order _ by _ date();打破;

默认:break

}

printf("\n按任意键退出");getche();

}

无效功能6(无效)

{

printf(" \ n计算!\ n ");

getche();

}

void main()

{ char n,m;

int计数;

for(;;){

//clrscr();

系统(“CLS”);

printf(" \ n \ t \ t \ t飞机预订系统设计");

printf(" \ n \ t \ t \ t-主菜单-");

Printf("\n\t\t\t 1。回车输入”);

Printf ("\ n \ t \ t 2。修改”);

Printf("\n\t\t\t 3。插入”);

Printf("\n\t\t\t 4。删除删除”);

Printf("\n\t\t\t 5。查询Inquire”);

Printf("\n\t\t\t 6。统计计算”);

printf("\n\t\t\t 7。display _ I Record”);

printf("\n\t\t\t 8。显示_所有记录");

printf("\n\t\t\t 9。保留”);

printf("\n\t\t\t 0。退出”);

n = getch();

开关(n)

{

case“1”:func 1();打破;//输入

事例“2”:func 2();打破;//修改

事例“3”:func 3();打破;//插入

事例“4”:func 4();打破;//删除成功

事例“5”:func 5();打破;//*查询

案例“6”:func 6();打破;//*计算

case '7': printf("\n用于显示的输入号\ n ");

m = getche();

如果((m & gt= ' 0 ')& amp;(m & lt= ' 9 '))disp _ I(m-' 0 ');

getch();打破;

事例“8”:disp _ all();getch();打破;

案例“9”:getch();打破;

大小写“0”:break;//退出到DOS

案例“a”:

case“A”:count = Read _ all();//将所有记录读取到结构ss[0...49]

disp _ title();//打印信息标题

for(m = 0;m & lt数数;m++)

disp _ one record(m);//打印所有记录之一;

write_all(计数);//将n条记录保存到一个文件中;

打破;

案例“b”:

案例“B”:

默认:break

}

if(n = = ' 0 ')break;

}

}

够了吗?