ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:29.21KB ,
资源ID:18348217      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18348217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(火车订票管理系统Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

火车订票管理系统Word文档下载推荐.docx

1、若余票数小于订票数,则输出提示信息余票数不足,订票失败!。3. 退票功能。乘客输入车次和身份证号码,在该车次对应的链表中查找该乘客,若找到,询问乘客退票数量,若退票数小于订票数,则只需修改结点的订票数;若退票数等于订票数,则将该乘客对应的结点删除,然后修改该车次的余票数;若没找到,则应提示未找到相应信息,要求乘客重新输入车次和身份证号码,再进行查找,如果仍未找到,则输出提示信息输入信息错误,退票失败!4. 其他查询功能。(1) 输入车次,输出该车次的全部订票信息。(2) 输入车次,输出该车次的订票数和余票数。(3) 输入终点站名称,输出相关火车线路的信息。(4) 输入日期(年.月.日),输出发

2、车时间为该天的火车线路的信息。(5) 输出余票数为0的火车线路的信息。*/#include stdio.hstring.hstdlib.hconio.hcstdlib#define SUM_TICKET 300; /车票总数#define PASS_N 5 /车次总数,对应这些个乘客文件/=/函数声明add_train(); /增加车次admin_passger(); /乘客管理admin_password(); /管理员密码管理admin_train(); /管理员权限:管理车次和乘客booking(); /订票checking(int n,char check20); /检查输入的省份证好

3、是否符合规定的位数check_Date(int max,int min,int mn); /检查日期是否符合标准的格式else_find(); /其他查询功能find(); /查找功能mod_train();修改车次的信息print(); /从屏幕输出车次信息print_p(struct train *train_p1); /输出对应车次的全部乘客信息read(); /从文件中读取车次和乘客信息refund(); /退票功能void save(); /将车次和乘客信息保存到文件中/全局变量struct node *node_p1, *node_p2; /乘客struct train *head

4、=NULL,*train_p1,*train_p2;/线路char admin20;int MaxTicket=300;struct node /乘客passengers订票信息 char name20; int FareSum;struct Dtime /发车时间 int year; int month; int day; int hour; int minute;struct train /线路 char terminal20; char sequence20; struct Dtime *StartTime; int fare; /票价 int SpareTicketNum; int M

5、axTicket; /最大票数 struct node *nhead; struct train *next; /指针成员,指向下一条线路/=/从文件中读取车次和乘客信息int read(void) /从文件读取信息 system(color 1f); /设置控制台背景色 FILE *fp,*pa,*ad; /打开文件,实例化三个文件结构体的指针 int site_sum=0,sum_ch=0; /总站点 int pass_sum5=0; / char ch;printf(n正在读取文件.n/读取train.txt 文件名和文件路径/printf(n正在读取train.txt文件.n/ /如果

6、打不开也写不进,那就新建个if( (fp=( fopen(train.txt,r)=NULL ) if( (fp=fopen(w)=NULL ) printf(nCannot open the file: train.txt! nPlease confirm the file already exists!n exit(0); /找不到文件train.txt,请确定train.txt的确存在。 fclose(fp); head=NULL; /链表置为空NULL /如果车次源文件不存在,则新建空train文件 else r+)=NULL ) putchar(10);/在控制台输出 10的ASSI

7、C码,同 n for(int i=0; i=0 ) rewind(fp); while( !feof(fp) ) train_p1=(struct train *)malloc(sizeof(struct train);train_p1-nhead=NULL; train_p1-StartTime=(struct Dtime *)malloc(sizeof(struct Dtime); /开辟新节点 fscanf(fp,%s%s%d%d%d%d%d%d%dn,train_p1-terminal,train_p1-sequence,&StartTime-year,&month,&day,&hou

8、r,&minute,&fare,&SpareTicketNum); site_sum+; if(site_sum = 1) head=train_p1; else train_p2-next=train_p1; train_p2=train_p1; train_p2-next=NULL; /printf(n共有车次 %d 次!,site_sum); /print(); /读取admin密码n正在读取密码文件.n if( ( fopen(admin.txt if( (ad=fopen( i+) printf( admin.txt! strcpy(admin,admin fprintf(ad,%s

9、,admin); /文件指针,输出字符串,输出表列;将格式化的数据写入文件 fclose(ad); /如果密码源文件不存在,则新建空admin.txt文件,初始密码:admin if( (ad=fopen( putchar(10); for(int i=0; printf( fscanf(ad, /printf(admin=%sn if( strcmp(admin,)=0 ) / 如果密码为空,怎初始化为admin fclose(ad);/读取passenger.txt site=%dn/* /数字转换为字符串 char passN20,cc2; /= for( i=0;N; i+) cc0=

10、i+0; cc1=0 strcpy(passi,passenger strcat(passi,cc); strcat(passi,.txt0*/ /= char pass20; int i=0,j=0; train_p1=head; for( j=0; train_p1!=NULL; j+)n正在读取 %s 文件.nsequence);/ node_p1=train_p1-nhead; strcpy(pass,train_p1- strcat(pass,.txt if( (pa=fopen(pass, if( (pa=fopen(pass, for(int i=0; printf(%s!,pa

11、ss); exit(0); else fclose(pa); else if( (ch=fgetc(pa) rewind(pa); while( !feof(pa) ) node_p1=(struct node *)malloc(sizeof(struct node); node_p1- fscanf(pa,%s%s%d%dn,node_p1-name,node_p1-IDcard,&node_p1-TicketNum,&FareSum); pass_sumj+; if( pass_sumj=1 ) train_p1-nhead=node_p1; else node_p2-next=node_

12、p1; node_p2=node_p1; node_p2- fclose(pa); / /printf( %dn,j); train_p1=train_p1-next; /=/*MaxTicket1.txt ad=fopen( MaxTicket=300;%d,MaxTicket);n正在读取文件MaxTicket.n if( (fopen(MaxTicket.txt ma=fopen(W printf(n MaxTicket=%dn fprintf(ma, else fscanf(ma,&MaxTicket); fclose(ma);/ printf(n全部文件读取完毕!/从屏幕输出车次信息

13、int print(void) /调试 :输出 putchar(10); int i=1; if( (train_p1=head)=NULL ) /如果车次文件是空文件没有任何车次!按任意键返回上一层n getch(); /终点站 车次 发车时间 t票价t余票数nn while( train_p1!=NULL )%s %s %4d-%2d-%2d %2d:%2dtY%dt%dnsequence,train_p1-year,train_p1-month,train_p1-day,train_p1-hour,train_p1-minute,train_p1-fare,train_p1-/ prin

14、tf(i=%dn,i); i+; return 1;/输出对应车次的全部乘客信息print_p(struct train *train_p1) if( (node_p1=train_p1-nhead)=NULL ) 该车次没有乘客! return 0;车次t乘客姓名t乘客身份证号nn while( node_p1!%st%stt%snsequence,node_p1-IDcard); node_p1=node_p1-find(void) /查询start_f: system( cls /清屏 char sect_120=1 /格式 for(int i=0;n 欢迎使用 火车票查询 系统 n f

15、or(i=0;putchar(10);,3); n 请选择您所需操作 n 1.按终点站查询 n 2.按车次查询 n 3.返回主菜单 n 4.退出 n nnn请选择: scanf(,sect_1); if( strcmp(sect_1,)=0 )start_f1: goto start_f;请输入终点站:,terminal); while( strcmp(terminal,train_p1-terminal)!=0 & train_p1-next! train_p1=train_p1- if( strcmp(terminal,train_p1-terminal)=0 ) n终点站 车次 发车时间 t票价t余票数nmin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1