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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

车票管理系统.docx

1、车票管理系统车票管理系统(C语言实现)2007-11-25 20:13/*车票管理系统一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 1 8:00 郫县 广汉 2 45 30 2 6:30 郫县 成都 0.5 40 40 3 7:00 郫县 成都 0.5 40 20 4 10:00 郫县 成都 0.5 40 2 (一)功能要求:用c/c+设计一系统,能提供下列服务: (1)录入班次信息(信息用文件保存),可不定时地增加班次数据 (2

2、)浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询路线:可按班次号查询 ,可按终点站查询 (4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数 B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数 (二)其它要求: (1) 只能使用C/C+语言,源程序要有适当的注释,使程序容易阅读 (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好) (3) 学生可自动增加新功能模块 */#include#include#include#inclu

3、de#include#includeconst int MAX=20;const int N=50;const int MAXFILENAME=100;enum FALSE,TRUE;struct timeint hour;int minutes;struct ticketint SerialNumber;struct time SetOut;char DeparturePointMAX;char TerminalPointMAX;float LastTime; int FixNumber;int FixedNumber;carN;int RecordNumber;int FLAG=FALSE

4、;/*/int ShowMessage(void); /载入原始数据void mainmenu(void); /主菜单void InsertMessage(void); /录入班次信息void SearchMenu(void); /查询路线子菜单void SearchByNumber(void); /按班次号查询void SearchByAddress(void); /按终点站查询void TicketManagement(void); /车票售出与退回void TicketOrder(void); /售票void TicketDelete(void); /退票void exit(void);

5、 /退出该系统void SaveRecord(ticket x); /储存信息到文件中/*/int main(void)do mainmenu();while(FLAG=FALSE);return 0;void mainmenu(void)system(color 1f);system(mode con: cols=140 lines=130);char functionNumber;printf( 车票管理系统nn);printf( 制作:B08011203n);printf( 日期:2009/05/31/19:57n);printf(=n);printf( 1.录入班次信息tn);prin

6、tf( 2.浏览班次信息tn);printf( 3.查询行车路线tn);printf( 4.售票与退票系统tn);printf( 5.退出该系统tn);printf(=n);printf(请选择你所需要的功能:);scanf(%c,&functionNumber);switch(functionNumber) case 1: InsertMessage(); printf(n按任意键回主菜单.n); getchar(); getchar(); break; case 2: RecordNumber=ShowMessage(); printf(n按任意键回主菜单.n); getchar(); g

7、etchar(); break; case 3: SearchMenu(); printf(n按任意键回主菜单.n); getchar(); getchar(); break; case 4: TicketManagement(); getchar(); getchar(); break; case 5:FLAG=TRUE;exit();break; default: printf(输入错误,请确保你的输入为1-5.n); printf(按任意键回主菜单.n); getchar(); getchar(); /switch endsFLAG=FALSE;void InsertMessage(vo

8、id)FILE *fp;char filenameMAXFILENAME;int i;printf(请输入文件名或者文件路径名:);scanf(%s,filename);if(fp=fopen(filename,r)=NULL) printf(文件%s不可读,请确认文件%s存在或者文件路径正确.nn,filename,filename); mainmenu();for(i=RecordNumber;!feof(fp)&!ferror(fp);i+) fscanf(fp,%d%d%d,&cari.SerialNumber,&cari.SetOut.hour,&cari.SetOut.minute

9、s); fscanf(fp,%s%s%f%d%d,&cari.DeparturePoint,&cari.TerminalPoint,&cari.LastTime,&cari.FixNumber,&cari.FixedNumber); SaveRecord(*(car+i);RecordNumber=i;/*输出更新后的订票记录*/printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);for(i=0;iRecordNumber;i+) printf(%dt%d:%dtt,cari.SerialNumber,cari.SetOut.hour,cari.SetOut.

10、minutes); printf(%st%stt%.1ft %dtt%dn,cari.DeparturePoint,cari.TerminalPoint,cari.LastTime,cari.FixNumber,cari.FixedNumber);fclose(fp);int ShowMessage(void)int i;FILE *fp;if(fp=fopen(add.txt,r)=NULL) printf(读取数据失败,请检查文件add.txt是否存在.n); exit(-1);for(i=RecordNumber;!feof(fp)&!ferror(fp);i+) fscanf(fp,%

11、d%d%d,&cari.SerialNumber,&cari.SetOut.hour,&cari.SetOut.minutes); fscanf(fp,%s%s%f%d%d,&cari.DeparturePoint,&cari.TerminalPoint,&cari.LastTime,&cari.FixNumber,&cari.FixedNumber);int count=i;printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);for(i=0;itm_hour=cari.SetOut.hour&now-tm_mincari.SetOut.minutes)|(n

12、ow-tm_hourcari.SetOut.hour) printf(此车已发出); printf(n);return count;void SearchMenu(void)system(color 1f);system(mode con: cols=140 lines=130);char functionNumber;printf( 查询子菜单n);printf(=n);printf( 1.按班次号查询tn);printf( 2.按终点站查询tn);printf( 3.返回主菜单tn);printf(=n);printf(请选择你所需要的功能:);scanf(%*c%c,&functionN

13、umber);switch(functionNumber) case 1:SearchByNumber();break; case 2:SearchByAddress();break; case 3: getchar(); mainmenu(); break; default: printf(输入错误,请确保你的输入为1-3.n); printf(按任意键回查询子菜单.n); getchar(); getchar(); SearchMenu();void SearchByNumber(void)int SearchNumber;printf(请输入要查询的班次号:);scanf(%d,&Sea

14、rchNumber);printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);printf(%dt%d:%dtt,carSearchNumber-1.SerialNumber,carSearchNumber-1.SetOut.hour,carSearchNumber-1.SetOut.minutes);printf(%st%stt%.1ft %dtt%dn,carSearchNumber-1.DeparturePoint,carSearchNumber-1.TerminalPoint,carSearchNumber-1.LastTime,carSearchNumb

15、er-1.FixNumber,carSearchNumber-1.FixedNumber);void SearchByAddress(void)int i;char AddressMAX;printf(请输入终点站的名称:);scanf(%s,&Address);printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);for(i=0;iRecordNumber;i+) /对比终点站记录,找到并输出 if(strcmp(Address,cari.TerminalPoint)=0) printf(%dt%d:%dtt,cari.SerialNumber,cari.Se

16、tOut.hour,cari.SetOut.minutes); printf(%st%stt%.1ft %dtt%dn,cari.DeparturePoint,cari.TerminalPoint,cari.LastTime,cari.FixNumber,cari.FixedNumber); void TicketManagement(void)char functionNumber;system(color 1f);system(mode con: cols=140 lines=130);printf( 订票与退票菜单n);printf(=n);printf( 1.订票tn);printf(

17、 2.退票tn);printf( 3.返回主菜单.n);printf(=n);printf(选择你需要的功能:);scanf(%*c%c,&functionNumber);switch(functionNumber) case 1: TicketOrder(); /getchar(); /getchar(); break; case 2:TicketDelete();break; case 3: getchar(); mainmenu(); break; default: printf(输入错误,请确保你的输入为1-3.n); printf(按任意键回主菜单.n); getchar(); ge

18、tchar(); mainmenu(); void TicketOrder(void)int i;printf(请输入要订购的车票的班次:);scanf(%d,&i);if(iRecordNumber) printf(对不起,今天没有这趟车,请明天再来,谢谢使用!n); printf(按任意键回主菜单.n); getchar();/getchar(); TicketManagement();time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now-tm_hour=cari.SetOut.hour

19、&now-tm_mintm_hourcari.SetOut.hour) if(cari.FixedNumbercari.FixNumber) (cari.FixedNumber)+; printf(你的订票成功,请按时上车,谢谢使用!n); else printf(对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!n); else printf(对不起,今天的这趟车已发出,请明天再来,谢谢合作!n);printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);printf(%dt%d:%dtt,cari-1.SerialNumber,cari-1.SetOut.h

20、our,cari-1.SetOut.minutes);printf(%st%stt%.1ft %dtt%dn,cari-1.DeparturePoint,cari-1.TerminalPoint,cari-1.LastTime,cari-1.FixNumber,cari-1.FixedNumber);/printf(按任意键回主菜单.n);/getchar();getchar();void TicketDelete(void)int i;printf(请输入要退购的车票的班次:);scanf(%d,&i);if(iRecordNumber) printf(对不起,今天没有这趟车,无法完成退票.

21、谢谢使用!n); getchar(); /getchar(); TicketManagement(); getchar();time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now-tm_hour=cari.SetOut.hour&now-tm_mintm_hour=1) cari.FixedNumber-=1; printf(退订车票成功,谢谢使用!n); else printf(对不起,今天的这趟车的票尚未卖出,无法完成退票!n); else printf(对不起,今天的这趟车已发出,无法完成退票!n); printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);printf(%dt%d:%dtt,cari-1.SerialNumber,cari-1.SetOut.hour,cari-1.SetOut.minutes);printf(%st%stt%.1ft %dtt%dn,cari-1.DeparturePoint,cari-1.TerminalPoint,cari-1.LastTime,cari-1.FixNumber,cari-1.FixedNumber);getchar();void exit(void)p

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

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