1、 Busticket_Control *next; /链表指针 bool ptime(void); /判断时间 void input(void); /录入班次信息 void output(void); /浏览班次信息 void sale(void); /售票 void back(void); /退票 void input(ifstream & is); /读取 void output(ofstream & os);/写入 string get_place_end(void) const; /返回终点站 int get_bus_order(void);private: int bus_order
2、; /班次 int hour_start; /发车时间(小时) int minute_start; /发车时间(分钟) char place_start10; /起点站 char place_end10; /终点站 float hour_running; /行车时间 int overload; /额定载量 int ticketed; /已定票人数;Busticket_Control:Busticket_Control(void) /构造函数 ticketed=0;Busticket_Control() /析构函数bool Busticket_Control:ptime(void) /判断时间函
3、数 struct tm *local; /读入系统当前时间 time_t t; t=time(NULL); local=localtime(&t); if(local-tm_hourhour_start)|(local-tm_hour=hour_start&local-tm_minminute_start) /与系统当前时间比较 return 1; else return 0;四、测试分析1、程序运行后,会出现如下图所示的程序主界面,按照其提示选择您所需要进行的操作即可。 1.程序主界面如图所示:图一2按数字1键后图二3.当浏览车票信息时,按2图三4 当查询车票信息时,按3图四5.当订购车票信
4、息时,按4图五6.当退还车票信息时,按5图六7. 当保存车票信息时,按6图七五、课程设计总结 1. 在这次程序编制的过程中出现了很多问题,主要原因是自己以前接触的关于编制程序的知识的缺乏,通过订票系统的开发让我知道了自己的不足和缺点,写出一个好的程序需要合作精神,一个人的力量毕竟是有限的团队力量才是无穷的。一个好的程序员一定是从程序堆里走出来的,只有通过参与具体程序的开发才知道自己知识的有限,才会学会具体的分析问题,是自己的逻辑性和层次性得到良好的锻炼, 2.课程设计是一门专业课,给我很多专业知识以及专业技能上了提升,同时又是一门思辨课,让我感触很深,是我对抽象的理论有了具体的认识,在这次课程
5、设计中知道了以前没有接触过的很多函数,C语言中的文件部分因为种种原因都没有得到及时的学习,以前很多东西都没有学好,在以后的学习中自己要加强程序的锻炼,多参考好的程序和各种各样的函数,建立起自己的函数库,为以后学习打下良好的基础。 3在今后的工作、学习中我将认真总结经验教训,努力使自己成为一名技术过硬、工作严谨、思维活跃的工程人员,为提高人们的生活质量做出更大的贡献六、附录void Busticket_Control:input(void) /录入函数 coutbus_order;请输入发车时间的小时hour_start;请输入发车时间的分钟minute_start;请输入起点站place_st
6、art;请输入终点站place_end;请输入行车时间hour_running;请输入额定载量overload;请输入已定票人数ticketed;output(void) /输出函数setw(4)bus_orderhour_startsetw(2)minute_startsetw(10)place_startplace_endsetw(15)overload if(ptime() cout 此班已发出 else 此班未发出sale(void) /售票函数 if(ticketedbus_orderhour_startminute_startplace_startplace_endhour_run
7、ningoverload is.get();output(ofstream &os) /写到文件函数 os setw(6)hour_runningticketednext=NULL; Bus_Link() /析构函数 delete head; /录入函数 void show(void); void found(void); /查找函数 int find(Busticket_Control *p1,int num,char *pn); /查找判断函数 /售票函数 /退票函数 void save(void); /保存数据函数 void clear(void); /清除函数 void begin(v
8、oid); /初始化函数 char menu(void); /菜单函数 Busticket_Control *head; /链表头指针void Bus_Link: Busticket_Control *p,*p2; int n=1; p=head; while(p-next) p=p-next; while(n) p2=new Busticket_Control; p2-input(); p-next=p2;继续输入请按1,否则请按0退去 cinn;show(void) /浏览函数班次发车时间 起点站 终点站额定载量已定票人数setw(13)next)-output();int Bus_Lin
9、k:find(Busticket_Control *p1,int num,char *pn) /查询判断函数 int m=0; if(p-get_bus_order()=num|(p-get_place_end()=pn) (*p1)=p; (p- m=1; return m;found(void) /查询函数 int n,num; char name10;按班次查找请按1,按终点查找请按2 if(n=1)num; if(n=2)name; if(!find(&p,num,name)没有你要查找的信息 return;确定购票?(是请按1,否请按2) if(!p,num,) cout if(p-
10、ptime()此班次已发出 p-sale();确定退票?(1/2)没有该班次 if(p-ptime()班次已发出不能退票 back();save(void) /保存函数 ofstream os(bus.txt,ios:out);output(os);文件已保存clear(void) /清除函数 Busticket_Control *p,*p1; p=head- while(p) p1=p; delete p1;begin(void) /初始化函数 clear(); long t; ifstream is(in); /文件以输入方式打开is) ofstream os( /文件以输出方式打开 os
11、.close(); /关闭文件 return ; int num=-1; while(1) num=-1; t=is.tellg(); /记录下当前位置 is is.seekg(t); /移动到原来位置 if(numinput(is);next=p1;char Bus_Link:menu(void) /菜单函数 char s; char s1128; strftime(s1,128,%Y-%m-%d %H:%M ,local);nn 欢迎使用车票管理系统endl cout endl 1. 录入车票信息 2. 浏览车票信息 3. 查询车票信息 4. 定购车票信息 5. 退还车票信息 6. 保存车票信息 0. 退出系统 ttts1m; if(m=1|m=0) i=m; else i=1; if(i=0) int k;是否保存(1/0)k; if(k=1) bus.save(); system(pause
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1