前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。
Visual C++6.0 是一种功能强大行之有效的可视化编程工具。
因此此软件是在Visual C++6.0环境下编写的。
对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。
为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于Visual C++6.0环境下的车票管理系统的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C 语言语法。
本文档的安排如下:第一章主要介绍了对面向对象C语言以及Visual C++6.0编程环境。
第二章主要的介绍说明了车票管理系统的编程思想和详细设计。
第三章主要对车票管理系统进行调试,运行程序并截图,显示运行界面和结果。
第四章主要介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
1 课程设计概述1.车票管理系统功能概述(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。
(3)查询路线(起点、终点):可按班次号查询 ,可按终点站查询(4)增加及修改班次和删除班次信息(5)售票和退票功能当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数1.2Visual C++6.0概述Visual C++是微软公司的重要产品之一, 是一种功能强大行之有效的可视化编程工具。
它提供了MFC类库,使用户可以方便的开发自己想实现的功能。
Visual C++6.0的主要特点:(1)自动化和宏功能。
(2)可以灵活地定制工具栏和菜单。
(3)可以直接运行和调试程序,还可以使用宏语言来自动操作调试器。
(4)支持Internet连接。
(5)一个新的便捷的项目系统可以允许一个工作区内包含多个不同的项目类型。
(6)在工作区内可以包含多个并列的工程文件。
(7)可以在对话框中使用WizardBar将程序同可视化元素联系起来。
(8)Find in File命令支持两个独立的输出窗格,可以保存上一次搜索的结果。
这些新特性可以更好地利用Visual C++开发工具进行Windows应用程序开发。
2 车票管理系统总体设计2.1 车票管理系统总体设计思想车票管理系统的功能为1. 录入班次2. 显示所有班次3. 查询班次4. 增加班次5. 售票6. 退票7. 修改班次8. 删除班次9. 退出9. 车票管理系统软件的功能模块有:(1)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按enter 键进入该功能。
(2)接受用户输入的功能项,按enter键结束输入并将进入该系统,其需要的结果显示出来,方便用户查看。
(3)完成每次功能,可保存用户的修改的信息,及时更新文件信息。
下次查询时内容为最新信息。
实时的信息更新对比等。
一个名TICKET的结构体进行定义,包括num[10]hour[3];min[3]from[10]; to[10];hours max; now;等结构体成员。
然后对调用函数进行定义。
int system_time()系统时间,void NewMessage() 新纪录录入函数,void ShowTable1() void ShowTable2(int i) 线框调用1和2不用没次输,void Display()显示所有函数,void add()增加记录,void save() 保存函数,void save()保存函数,void load() 按班次查询函数,void search() 查询函数,void change()修改函数,void quit()退出函数,void Ticketorder() 售票函数,void Ticketdelete()删除函数,int menu_select()菜单函数, int whether(int)判断时间是否超出函数,void find(char s1[],char s2[]) 查询函数★//s1为班次//s2为终点站,void deletemessage()删除函数,int findnum(char s1[])班次查询函数,void get(int,int)修改及增加班次,char *menu[]菜单函数。
该系统将这些信息均放在文件d:车票管理系统0中。
最后定义main()函数,利用函数调用,实现程序的各种功能。
将其放在系统文件d:车票管理系统0中。
程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
程序把每种功能分开实现,更简单,实用程序更易理解。
2.2 总体设计流程图3 车票管理系统软件详细设计一个名TICKET的结构体进行定义,包括num[10]hour[3];min[3]from[10]; to[10];hours max; now;等结构体成员。
然后对调用函数进行定义。
int system_time()系统时间,void NewMessage() 新纪录录入函数,void ShowTable1() void ShowTable2(int i) 线框调用1和2不用没次输,void Display()显示所有函数,void add()增加记录,void save() 保存函数,void save()保存函数,void load() 按班次查询函数,void search() 查询函数,void change()修改函数,void quit()退出函数,void Ticketorder() 售票函数,void Ticketdelete()删除函数,int menu_select()菜单函数, int whether(int)判断时间是否超出函数,void find(char s1[],char s2[]) 查询函数★//s1为班次//s2为终点站,void deletemessage()删除函数,int findnum(char s1[])班次查询函数,void get(int,int)修改及增加班次,char *menu[]菜单函数。
该系统将这些信息均放在文件d:车票管理系统0中。
最后定义main()函数,利用函数调用,实现程序的各种功能。
将其放在系统文件d:车票管理系统0中。
4 程序测试、4.0 菜单界面图3-0-1 菜单界面如上图所示,该程序为用户提供菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。
选择1-9并按enter键进行操作。
如选择出错,系统将提出警告,并提醒用户重新进行选择。
4.1 录入班次界面图3-1- 1 第一次输入时的界面图3-1- 2 第二次输入时的界面如上图所示,该功能实现录入班次信息。
选择1按enter键进入该功能,程序提醒用户输入车次.发车时间.起始站.终点站.行车时间.额定载量.已售票数,输入完毕后按enter键将完成录入班次结果,同时程序将再次提醒用户进行新的选择。
而第二次输入时提醒已经输过,不能在加。
4.2 查询所有班次界面图3-2 字符串重新统计界面如上图所示,该功能实现显示所有班次。
选择2按enter键进入该功能,程序提直接显示出信息,按enter键,程序进入菜单项,程序将再次提醒用户进行新的选择。
4.3 查询班次界面图 3-3-1 查询班次界面图3-3- 2 选择查询方式的界面如上图所示,该功能将实现程序运行班次的查询。
选择3并按enter键将实现该功能。
分班次和终点站两种方式查询。
4.4 增加班次界面图3-4-1 增加功能界面图3-4-2 增加前界面图3-4-3 增加后界面如上图所示,该功能将增加班次信息,帮助用户更新班次信息。
选择4并按enter键将实现该功能,再按提示输入就行。
按任意键返回主菜单。
4.5 售票界面图3-5-1 选择售票功能界面图3-5-2 选择后的界面图3-5-3 订票时的界面如上图所示,该功能将帮助人们选择买票。
选择5按enter键实现该功能,按任意键关闭程序。
买票程序可提示买票成功否,且自动判断是否可卖。
4.6 退票界面图3-6 退票时的界面如上图所示,该功能将帮助人们选择退票。
选择6按enter键实现该功能,按任意键关闭程序。
退票程序可提示退票成功否,且自动判断是否可退。
4.7 修改班次界面图3-7 修改班次时的界面如上图所示,该功能将帮助人们修改班次信息。
选择7按enter键实现该功能,按任意键关闭程序。
按提示操作修改班次。
4.8 删除班次界面图3-8 删除班次时的界面如上图所示,该功能可删除班次信息。
选择8按enter键实现该功能,按任意键关闭程序。
按提示操作删除班次。
4.9 退出界面图3-9 退出时的界面如上图所示,该功能可退出系统。
选择9按enter键实现该功能。
课程设计总结为了提高我们的实践能力和合作能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期一周的C语言课程设计实习,并安排了专门的指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。
为今后的工作适应环境。
在此次车票管理系统开发过程中,有很多东西值得我们思考并总结。
开发过程大体可分为以下几个步骤:(1)思考总体设计方案:总体结构和模块外部设计,功能分配。
思考要实现整个程序大体需要的几个模块和其中用到的 C语言基本操作符、语句格式等。
(2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。
(3)流程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现.并想好实现的关键代码框架。
(4)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进.如何实现各函数功能,达到预期效果也将是一项繁复的工作。
(5)代码的调试:在Visual C++6.0环境下输入代码并进行调试和正确运行。