C语言课程设计汽车车票管理系统.doc

上传人:laozhun 文档编号:2385659 上传时间:2023-02-17 格式:DOC 页数:30 大小:427KB
返回 下载 相关 举报
C语言课程设计汽车车票管理系统.doc_第1页
第1页 / 共30页
C语言课程设计汽车车票管理系统.doc_第2页
第2页 / 共30页
C语言课程设计汽车车票管理系统.doc_第3页
第3页 / 共30页
C语言课程设计汽车车票管理系统.doc_第4页
第4页 / 共30页
C语言课程设计汽车车票管理系统.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《C语言课程设计汽车车票管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程设计汽车车票管理系统.doc(30页珍藏版)》请在三一办公上搜索。

1、中国海洋大学青岛学院C语言课程设计报告书题 目汽车车票管理系统学生姓名指导教师学 院专业班级 组内分工姓名主要任务占系统比例主体框架、查询、票数变更40%信息的录入、浏览30%订票、退票30%目 录1 前言12 需求分析23 模块设计图34 NS流程图清单45 存储结构及函数说明176 课程设计结果207 实践心得体会261 前言1.1 课程设计题目:汽车车票管理管理系统1.2 课程设计目的:车票管理管理系统是车站对车票信息管理的工具。系统能够实现车票信息的录入,浏览,查询,订票,退票等功能.1.3 功能概述:车票管理系统主要分为管理员登录和普通用户登录两大部分。其中管理员登录后,可以录入、浏

2、览和查询车票信息。普通用户登录后可进行查询、退票和订票等操作。2 需求分析2.1 车次的信息包括 :班次、发车时间、起点站、终点站、行车时间、额定人数、已定票人数、票价等。2.2 系统能够完成车票信息的录入、浏览、查询、订票、退票等功能。(1)车次信息录入功能: 可进行车次信息的录入,并以文件保存。(2)车次信息浏览功能: 浏览所有班次信息,并可显示出所有班次当前状态,若某车次发车时间已过,则显示“车已开出”。(3)车次信息查询功能: 查询车次信息。可按班次号查询,也可按终点站查询。(4)车票订票功能:只有当已订票人数小于额定载客量且该班次未到发车时间时才能完成订票。(5)车票退票功能: 退票

3、时,输入退票班次,若此班次未发出则可能完成退票。(6)票数变更功能:当用户订票或退票成功后,票数会自动发生相应的改变。3 模块设计图汽车车票管理系统管理员登陆普通用户登录录入浏览查询查询订票退票按车次查询按起点站和终点站查询按班次查询按起点站和终点站查询4 NS流程图清单4.1录入(load())system(cls); printf(*欢迎使用车票管理系统*n);printf(当前时间:); system_time(); /调用系统时间函数FILE *fp; ticket train;T(fp=fopen(record,a+)=NULL F printf(File(record) open

4、error!n); fscanf(fp,%d,&record); fclose(fp);T(fp=fopen(ticket,a+)=NULL F printf(File(ticket) open error!n);fputs(n,fp); printf(请输入班次:n); scanf(%d,&train.number); fprintf(fp,%d,train.number); fputs(t,fp); printf(请输入发车时间:n); scanf(%d:%d,&train.ft.hour,&train.ft.minute); fprintf(fp,%02d:%02d,train.ft.h

5、our,train.ft.minute); fputs(t,fp); printf(请输入起始站:n); scanf(%s,&train.origin_station); fputs(train.origin_station,fp);exit(0);exit(0); fputs(t,fp); printf(请输入终点站:n); scanf(%s,&train.last_station); fputs(train.last_station,fp); fputs(t,fp); printf(请输入持续时间:n); scanf(%lf,&train.last_time); fprintf(fp,%.

6、2lf,train.last_time); fputs(t,fp); printf(请输入最大载客量:n); scanf(%d,&train.max_number); fprintf(fp,%d,train.max_number); fputs(t,fp); printf(请输入已售出票数:n); scanf(%d,&train.sold_ticket);fprintf(fp,%d,train.sold_ticket);fputs(t,fp);printf(请输入票价(远):n);scanf(%d,&train.price)fprintf(fp,%d,train.price); record+

7、; fclose(fp)T(fp=fopen(record,w+)=NULL Fprintf(File(record) open error!n);fprintf(fp,%d,record);fclose(fp);printf(*录入成功,请继续选择*n); printf(* 1.继续录入 *n);printf(* 2.返回管理员菜单 *n);printf(*n);int n;printf(请输入您想做的操作: );scanf(%d,&n);exit(0);case n, n=1,2case 1: case 2:load(); break;glymenu();4.2 浏览(show())sys

8、tem(cls);printf(*欢迎使用车票管理系统*n); printf(当前时间:); system_time(); FILE *fp; ticket train;T(fp=fopen(ticket,r)=NULL Fprintf(File(ticket) open error!n);exit(0);printf(n班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数 票价(元)状态n); 当(!feof(fp)为真fscanf(fp,%dt%d:%d,&train.number,&train.ft.hour,&train.ft.minute); fscanf(fp,%s%

9、s,&train.origin_station,&train.last_station); fscanf(fp,%lf%d%d%d,&train.last_time,&train.max_number,&train.sold_ticket,&train.price); printf(%dt%02d:%02dt ,train.number,train.ft.hour,train.ft.minute); printf(%st%st,train.origin_station,train.last_station);printf(%.2lft%dt%dt%dt,train.last_time,trai

10、n.max_number,train.sold_ticket,train.price);T(syshourtrain.ft.hour)|(syshour=train.ft.hour)&(sysminutetrain.ft.minute) Fprintf(车已开出); printf(n); printf(n); fclose(fp)T(fp=fopen(record,r)=NULL Fprintf(File(record) open error!n);exit(0);fscanf(fp,%d,&record);fclose(fp); printf(n共有%d条车次信息n,record); sys

11、tem(pause); glymenu()4.3 按班次查询(searsh1()) system(cls); printf(*欢迎使用车票管理系统*n); printf(当前时间:); system_time(); int m; int flag=1; FILE *fp;ticket train; printf(请您输入你要查询的班次:); scanf(%d,&m);T(fp=fopen(ticket,r)=NULL Fprintf(File open error!n);exit(0); 当(! feof(fp)为真fscanf(fp,%dt%d:%d,&train.number,&train

12、.ft.hour,&train.ft.minute);fscanf(fp,%s%s,&train.origin_station,&train.last_station);fscanf(fp,%lf%d%d%d,&train.last_time,&train.max_number,&train.sold_ticket,&train.price); (m=train.number)&(flag=1)T F printf(n班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数t票价(元)状态n);continue;printf(%dt%02d:%02dt,train.number,tr

13、ain.ft.hour,train.ft.minute);printf(%st%st,train.origin_station,train.last_station);printf(%.2lft%dt%dt%dt,train.last_time,train.max_number,train.sold_ticket,train.price); T (syshourtrain.ft.hour)| (syshour=train.ft.hour)& (sysminutetrain.ft.minute) Fprinf(车已开出);printf(n);printf(n); flag=0;fclose(fp

14、); flag=1T Fprintf( n!没有此条车次记录!n);printf(n);printf(*查询完成,请继续选择*n);printf(* 1.继续按班次查询 *n);printf(* 2.按起点站和终点站查询 *n);printf(* 3.返回主菜单 *n);printf(*n);int n;printf(请输入您想做的操作: );scanf(%d,&n); case n, n=1,2,3case 1:case 2:case 3:searsh1(); break;searsh2();break;mainmenu();4.4按起点站和终点站查询(searsh2()) system(c

15、ls); printf(*欢迎使用车票管理系统*n); printf(当前时间:); system_time(); char a20; char b20; int flag=1; FILE *fp;ticket train; printf(请您输入你要查询的起始站:); scanf(%s,&a); printf(请您输入你要查询的终点站:); scanf(%s,&b);T(fp=fopen(ticket,r)=NULL Fprintf(File open error!n);exit(0); 当(! feof(fp)为真fscanf(fp,%dt%d:%d,&train.number,&trai

16、n.ft.hour,&train.ft.minute);fscanf(fp,%s%s,&train.origin_station,&train.last_station);fscanf(fp,%lf%d%d%d,&train.last_time,&train.max_number,&train.sold_ticket,&train.price);(strcmp(a,train.origin_station)=0)& (strcmp(b,train.last_station)=0)&(flag=1)T Fprintf(n班次 发车时间 起点 终点 行车时间(小时) 额定载量 已定票人数t状态n)

17、;continue;printf(%dt%02d:%02dt,train.number,train.ft.hour,train.ft.minute);printf(%st%st,train.origin_station,train.last_station);printf(%.2lft%dt%dt%dt,train.last_time,train.max_number,train.sold_ticket,train.price); T (syshourtrain.ft.hour)| (syshour=train.ft.hour)& (sysminutetrain.ft.minute) Fpri

18、nf(车已开出);printf(n);printf(n); flag=0;fclose(fp); flag=1T Fprintf( n!没有此条车次记录!n);printf(n);printf(*查询完成,请继续选择*n);printf(* 1.继续按起点站和终点站查询 *n);printf(* 2.按班次查询 *n);printf(* 3.返回主菜单 *n);printf(*n);int n;printf(请输入您想做的操作: );scanf(%d,&n); case n, n=1,2,3case 1:case 2:case 3:Searsh2(); break;Searsh1();brea

19、k;mainmenu();4.5 订票(buy_ticket())system(cls);printf(*欢迎使用车票管理系统*n); printf(当前时间:); system_time();int y=1; int x;int m; char a; int flag=1 FILE *fp;ticket train;printf(请输入您想买的班次:); scanf(%d,&m);T(fp=fopen(ticket,r)=NULL FPrintf(File open error!n);exit(0);当(! feof(fp)为真fscanf(fp,%dt%d:%d,&train.number

20、,&train.ft.hour,&train.ft.minute);fscanf(fp,%s%s,&train.origin_station,&train.last_station);fscanf(fp,%lf%d%d%d,&train.last_time,&train.max_number,&train.sold_ticket,&train.price);T(syshourtrain.ft.hour)|(syshour=train.ft.hour)&(sysminutetrain.ft.minute) Fx=1;x=0;T(m=train.number)&(x=1) Fprintf(n!此车

21、已开出,订票失败!nn ); flag=0; break;T(m=train.number)&(x=0)& (train.max_numbertrain.sold_ticke) Fprintf(n您确定要买%d:%d由%s到%s的车票(y/n):,train.ft.hour,train.ft.minute,train.origin_station,train.last_station);continue;scanf(%s,&a);Ta=y Fprintf( n$购买成功,请按时乘车$n );printf(n!售票失败!nn); save(y,m);system(pause);printf(nn

22、t);system(pause);flag=0; break;fclose(fp);Tflag=1 Fprintf(n !没有此车次信息,请确认后再购票! nn );printf(*请 继 续 选 择*n);printf(* 1.继续订票 *n);printf(* 2.返回普通用户菜单 *n);printf(*n);int n; printf(请输入您想做的操作: ); scanf(%d,&n);case n, n=1,2case 1:case 2:buy_ticket(); break;ptyhmenu();4.6 退票(back_ticket())system(cls);printf(*欢

23、迎使用车票管理系统*n); printf(当前时间:); system_time();int y=0; int x;int m; char a; int flag=1 FILE *fp;ticket train;printf(请输入您要退的班次: ); scanf(%d,&m);T(fp=fopen(ticket,r)=NULL FPrintf(File open error!n);exit(0);当(! feof(fp)为真fscanf(fp,%dt%d:%d,&train.number,&train.ft.hour,&train.ft.minute);fscanf(fp,%s%s,&tra

24、in.origin_station,&train.last_station);fscanf(fp,%lf%d%d%d,&train.last_time,&train.max_number,&train.sold_ticket,&train.price);T(syshourtrain.ft.hour)|(syshour=train.ft.hour)&(sysminutetrain.ft.minute) Fx=1;x=0;T(m=train.number)&(x=1) Fprintf(n!此车已开出, 退票失败!nn ); flag=0; break;T(m=train.number)&(x=0)

25、&(train.sold_ticket0) Fprintf(n您确定要退%d:%d由%s到%s的车票(y/n):,train.ft.hour,train.ft.minute,train.origin_station,train.last_station);continue;scanf(%s,&a);Ta=y Fprintf( n$退票成功$n );printf(n!退票失败!nn);save(y,m);system(pause);printf(nnt); system(pause);flag=0; break;fclose(fp);Tflag=1 Fprintf(n !没有此车次信息,请确认后

26、再退票! nn );printf(*请 继 续 选 择*n);printf(* 1.继续退票 *n);printf(* 2.返回普通用户菜单 *n);printf(*n);int n; printf(请输入您想做的操作: ); scanf(%d,&n);case n, n=1,2case 1:case 2:back_ticket(); break;ptyhmenu();4.7 票数变更(save(int y,int m))FILE *fp; ticket train100; int i=0; int y1; int m1; y1=y; m1=m;T(fp=fopen(record,r)=NUL

27、L Fprintf(File(record) open error!n);exit(0);fscanf(fp,%d,&record); fclose(fp);T(fp=fopen(ticket,r)=NULL Fprintf(File(ticket)open error!n);exit(0);i=0;irecord;i+fscanf(fp,%dt%d:%d,&traini.number,&traini.ft.hour,&traini.ft.minute);fscanf(fp,%s%s,&traini.origin_station,&traini.last_station);fscanf(fp,

28、%lf%d%d%d,&train.last_time,&train.max_number,&train.sold_ticket,&train.price);fclose(fp);i=0;irecord;i+T(traini.number=m1)&(y1=1) Ftraini.sold_ticket=traini.sold_ticket+1; (traini.number=m1)&(y1=0)T Fbreak;traini.sold_ticket=traini.sold_ticket-1;continue;break;T(fp=fopen(ticket,w+)=NULL Fprintf(File

29、 open error(ticket)!n);exit(0);i=0;irecord;i+fputs(n,fp);fprintf(fp,%d,traini.number);fputs(t,fp);fprintf(fp,%d:%d,traini.ft.hour,traini.ft.minute);fputs(t,fp); fputs(traini.origin_station,fp);fputs(t,fp); fputs(traini.last_station,fp);fputs(t,fp); fprintf(fp,%.2lf,traini.last_time);fputs(t,fp);fprintf(fp,%d,t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号