程序设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计实践训练课程设计报告
姓名:
班级:13电信2班
学号:2013302
2013302
2013302
指导老师:
日期:2015.12.14~2015.12.16
华南农业大学电子工程学院
摘要
在现代社会,计算机已经进入社会生活的各个领域。计算机和互联网已经与老百姓的日常工作、学习和生活息息相关,人类社会现在又处于历史飞跃时期,由高度的工业化时代迈向计算机网络时代。作为新世纪的大学生,我们应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,通过实践巩固自己的知识。在这次的课程设计实践中,我们小组选择了车票管理系统这个课题。车票的管理系统包括班次信息的录入、浏览和查询、售票和退票等功能。
随着计算机技术的发展,可视编程技术占有了越来越重要的作用。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语言语法。
设计程序的重要思想是模块化处理,自上而下,逐步精细;把一个复杂的问题分析为多个子问题,然后利用函数模块化把一个个小的问题解决。
关键字:子程序、模块化、程序设计思路、结构体
目录
1 课程设计目的 (1)
2 课程准备阶段 (1)
2.1 背景 (1)
2.2 课程设计内容 (1)
2.3系统总体设计框架 (1)
3程序设计过程 (3)
3.1主函数的设计 (3)
3.2录入信息功能函数的设计 (4)
3.3显示所有班次功能 (7)
3.4查询班次功能 (9)
3.5增加班次功能 (10)
3.6售票功能 (11)
3.7退票功能 (13)
3.8修改班次功能 (15)
3.9删除班次功能 (15)
4程序测试 (17)
5总结 (25)
Abstract (26)
参考文献 (28)
1.课程设计目的
通过课程设计,加强对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构,进一步掌握C语言中重要的数据结构,掌握并熟练运用指针、链表、结构体、文件等数据结构,掌握软件系统设计的基本步骤,提高程序开发能力,能运用合理的控制流编写清晰高效的程序,加强程序分析能力[1]。
2课程准备阶段
2.1背景
一直以来,在人们的日常出行中,大巴以其方便实惠的优点吸引了大量的乘客乘坐。然而,随着时代的发展,传统的效率低下,速度慢的人工售票方式已经跟不上时代的潮流。为了方便人们的出行,开发出一款车票管理系统已经迫在眉睫。
2.2设计内容
一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如:
班次发车时间起点站终点站行车时间额定载量已定票人数
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
…
程序基本要求:
(1)录入班次信息(信息用文件保存),可不定时地增加班次数据;
(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息);
(3)查询路线:可按班次号查询 ,可按终点站查询;
(4)售票和退票功能:
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数;(5)采用文本菜单界面。
2.3系统总体设计框架
程序总体的功能如下图所示:
程序包含了8个功能,除了课程设计要求的录入数据、显示数据、查询数据、增加数据、售票服务、退票服务这6个功能,我们另外加入了修改程序已经录入的数据和删除数据。相应的的函数实现算法,在之后的篇幅中详细介绍。
3 程序设计过程
根据程序设计的模块化思想,我们将程序进行功能的模块化,以下是我们的程序设计过程:
3.1 主函数的设计
3.1.1主函数内部应该设计一个死循环,里面将有一个控制变量函数,由其返回值确定主函数调用哪种功能,这里我们选用switch语句,控制变量是menu_select的返回值,menu_select是菜单选择函数。
}
void main()
{
system("cls");
while(1) //循环
{
/* int k;
k=mimaa();
if(k)*/
switch(menu_select())
{
case 1:newmessage();break;//录入函数
case 2:display();break; //显示
case 3:search();break; //查找函数
case 4:add();break; //增加记录
case 5:ticketorder();break; //售票函数
case 6:ticketdelete();break; //删除函数
case 7:change();break; //修改函数
case 8:deletemessage();break; //选择调用删除函数
case 9:quit();break; //退出函数
}
}