2013年《C语言程序设计》课程设计-大型作业任务书
一、题目
(1)题目1.个人自助游管理信息系统
(2)题目2.停车场收费管理信息系统
(3)题目3.物流配送管理信息系统
二、选题规定
(1) 学号尾数(最后一位)为:1、4、7、0者自动选择题目(1),即:题目1.个人自助游管理信息系统。
(2) 学号尾数(最后一位)为:2、5、8者自动选择题目(2),即:题目2.停车场收费管理信息系统。
(3) 学号尾数(最后一位)为:3、6、9者自动选择题目(3),即:题目3.物流配送管理信息系统。
三、需要处理的基础数据
注:与中文字段名对应的英文字段名自己确定;类型和长度可以根据需要修改。
(一)个人自助游管理信息系统
1.个人自助游行程基本信息参考:
2.行程每日基本信息参考:
3.每日消费明细基本信息参考:
(二)停车场收费管理信息系统
1.停车场签约单位基本信息参考:
2.已登记车辆基本信息参考:
3.车辆停车明细基本信息参考:
注:该系统除以上主要信息,还需要设置停车月票具体费用,以及按时计费的规则,这一部分请自行设计。
(三)物流配送管理信息系统
1、物流配送系统,假设只有起始站点才能载货,一辆车的当前配送路线可涉及多条固定配送路线的站点;配送路线基本信息参考:
2.经停站点详细信息参考:
3.配送车辆基本信息参考:
四、需实现的系统功能
(一)各种基本数据的录入
1.个人自助游管理信息系统
● 行程基本信息录入;
● 行程每日安排基本信息录入;
● 每日消费明细基本信息录入;
● 其它信息录入。
2.停车场收费管理信息系统
● 停车场签约单位基本信息录入;
● 各单位等级车辆基本信息录入;
● 每辆车的停车明细基本信息录入;
● 其它信息录入。
3.物流配送管理信息系统
● 配送路线基本信息录入;
● 路线经停站点基本信息录入;
● 站点经停车辆基本信息录入;
● 其它信息录入。
要求每个系统的1级链表、2级链表、3级链表都能够进行基本数据的录入。
(二)各种基本数据的修改
即:允许对已经录入的数据重新进行编辑、修改。如:
● 修改停车场签约单位基本信息(修改1级链表中的结点);
● 修改某路线经停站点基本信息(修改2级链表中的结点);
● 修改每日消费明细基本信息(修改3级链表中的结点)。
要求每个系统的1级链表、2级链表、3级链表都能够进行基本信息的修改。
(三)各种基本数据的插入
如:
● 在旅游行程基本信息链(1级链)中插入一条新记录(按发生日期序);
● 在某配送路线经停站点基本信息链(2级链)中插入一条新记录(按经停先后序);
● 在每日消费明细基本信息链(3级链)中插入一条新记录(按发生日期序)等。
要求每个系统的1级链表、2级链表、3级链表都能够进行新记录的插入,根据实际情况决定插入的位置。
(四)各种基本数据的删除
如:
1.删除1级链表中的结点
1-1.删除自助游行程基本信息链中结点。
算法(删除1级链表中的结点):
遍历自助游行程基本信息链,找到对应结点; (1级链表遍历)
遍历该结点指向的该行程每日安排基本信息链;(2级链表遍历)
对链中的每一个结点,删除其指向的每日消费明细基本信息链;(3级链表结点删除)
再删除该行程每日安排基本信息链;(2级链表结点删除)
最后删除自助游行程基本信息链中的对应结点。(1级链表结点删除)
1-2.删除停车场签约单位基本信息链中结点。
算法(删除1级链表中的结点):
遍历停车场签约单位基本信息链,找到对应结点;(1级链表遍历)
遍历该结点指向的登记车辆基本信息链;(2级链表遍历)
对链中的每一个结点,删除其指向的停车明细基本信息链;(3级链表结点删除)
再删除该登记车辆基本信息链;(2级链表结点删除)
最后删除停车场签约单位基本信息链中的对应结点。(1级链表结点删除)
1-3.删除配送路线基本信息链中结点。
算法(删除1级链表中的结点):
遍历配送路线基本信息链,找到对应结点;(1级链表遍历)
遍历该结点指向的经停站点基本信息链;(2级链表遍历)
对链中的每一个结点,删除其指向的经停配送车辆基本信息链;(3级链表结点删除)
再删除该经停站点基本信息链;(2级链表结点删除)
最后删除配送路线基本信息链中的对应结点。(1级链表结点删除)
2.删除2级链表中的结点。
参考1.删除1级链表中的结点中2级链表结点的删除。
3.删除某个3级链表中的结点
参考1.删除1级链表中的结点中3级链表结点的删除。
要求每个系统的1级链表、2级链表、3级链表都能够进行结点的删除。
(五)基于各种数据的查询
如:
1、个人自助游行程信息管理系统中各种数据的查询
● 查询某次行程的安排。
● 查询某次行程的费用总数和明细。
● 查询指定旅社的住宿费用。
● 查询指定两个景点间的小交通路线。
● 查询某次行程大交通信息及费用。
● 查询平均日消费最多及最少的行程。
● 查询景点门票价格最高的行程。
● 查询某次行程的穿衣指数(需要给出成行的时间)。
2、停车场收费信息管理系统中各种数据的查询
● 查询指定单位是否欠费。
● 查询指定车辆当前是否在停车场内,如在,给出停泊车位。
● 查询指定停泊车位上停泊车辆所属的单位和负责人信息。
● 查询欠费单位及金额。
● 根据颜色查询登记车辆。
● 查询指定车辆某个时间段内的停车明细。
● 查询最多登记车辆的单位。
● 查询专用车位最多的单位。
3. 物流配送信息管理系统中各种数据的查询
● 查询经停某站点的所有路线。
● 查询耗时最长及最短的路线。
● 查询路线公里数最长及最短的路线。
● 查询指定路线的所有经停站点。
● 查询经停某站点,且剩余可载货容量为指定重量的车辆。
● 查询指定司机的配送清单。
● 查询指定车辆的司机联系方式。
● 查询指定车辆的配送路线。(要求能够处理配送路线涉及多条固定路线的情况)
(六)基于各种基本数据的统计计算(报表)
每个题目任选一个报表,完成设计(根据需要展示的数据内容设计表格表头、栏目、色块、数字、统计图等)并输出。
个人自助游行程信息管理系统需要完成的各种数据的统计计算:
● 统计(求和)并输出任意指定的两个行程的费用分类:包括住宿、大交通、小交通、餐饮、门票、购物其它费用。
● 编排格式输出任意指定行程的总费用及详细日程安排。
● 编排格式输出任意指定行程的费用明细。
停车场收费管理信息系统需要完成的各种数据的统计计算:
● 统计(求和)停车场签约单位年度费用一览表,包括单位年度总费用、单位月总费用、年度车辆总费用。
● 统计停车场签约单位欠费情况一览表,包括欠费单位按月缴费情况、什么时候开始欠费(按月),自欠费月起的欠费明细(一笔一笔给出该单位车辆停车场使用记录)。
物流配送管理信息系统需要完成的各种数据的统计计算:
● 为每辆车生成当前设计的配送计划图,按站点序给出路线中各经停站点以及站点所卸载货物的编号。
● 统计(求和)所有车辆当前配送路线(不是固定路线)的各项指标信息,包括总里程数、最长路线里程数、最短路线里程数、平均里程数、总耗时(假设所有车一起出发,从出发时间起到最后一辆车回来止的时间)、最短耗时、最长耗时、平均耗时、总载货量、最大载货量、最小载货量和平均载货量等(加分项:可自行设计指标,如评价当前配送路线效率的指标)。
五、数据结构说明及举例
(1)三个系统的数据结构都必须采用十字交叉链表,也允许辅之以其它链表来完成对系统基础数据的完整描述。
(2)三个系统的部分数据结构举例见下页图1、图2、图3。
图1个人自助游管理信息系统十字交叉链表
图2停车场收费管理信息系统十字交叉链表
图3物流配送管理信息系统十字交叉链表
六、要求
1、只能使用C语言,源程序编写格式要按照缩进方式,源程序要有详细的注释,使程序容易阅读。(注:源程序编写格式的规范和注释体现程序员的素质,必须从本课程设计开始培养。)
2、要有用户界面。要求至少采用文本菜单界面;鼓励采用图形菜单界面。
3、必须使用结构和十字交叉链表等数据结构。
4、规定使用三个数据文件来分别保存1级链表、2级链表、3级链表的数据。
5、至少输出一份报表(能够显示即可),鼓励自行增加新功能。
6、写实验报告(要求正规打印,A4幅面),内容包括:
● 题目
● 系统功能模块结构图(如图4,图5所示)。
● 数据结构设计及用法说明(列出程序中的struct设计和自己程序的使用、操作方法)
● 程序结构(画流程图)(如系统总体流程图,某种查询、插入、删除程序实现的程序流程图。要求采用教材中的标准流程图图符至少画两个流程图。)
● 各模块的功能(解释如图4中各个模块的软件功能)
● 试验结果(包括输入数据的结果,查询、修改、删除的结果,可以拷屏实现结果的报告)
● 实验体会(必须真实的说出自己在课程设计中的切身体会。例如:如何构思、如何设计、如何编程、如何调试?那些地方使你“痛苦不堪”?等等)
● 参考文献
● 附录:程序清单及源程序软盘
注:每人以学号+姓名创建目录,目录需包括实验报告电子文档和源程序以备检查。然后由各班课代表汇总到U盘上统一提交。
7、使用的C 编译器没有限制。根据需要,可以任选TC、VC、CodeBlocks,开源C 编译器UCC、Linux平台下的gcc或其它编译器。
鼓励选用Linux平台和gcc编译器;鼓励选用开源C 编译器UCC。
8、课程设计必做部分在9月开学第1周要进行中期检查。原则上要求至少完成60%以上的设计任务。
9、凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩并向学院报告。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩并向学院报告。
10、附:封面格式,请根据所做题目修改封面中题目名称。
七、创建文本菜单与打印输出的提示
1、使用TC创建文本菜单的相关函数
window、textbackground、clrscr、
textcolor、cprintf、bioskey、
gotoxy、gettext、puttext、putch
请自行查阅相关资料,了解这些函数的用法。
2、使用CodeBlocks创建文本菜单请参考《C语言实验与课程设计》。
3、打印输出只在屏幕上输出。报表在屏幕上以表格形式输出。
八、参考书目
1、C语言与程序设计. 曹计昌,卢萍,李开编著. 电子工业出版社
2、C语言实验与课程设计. 李开,卢萍,曹计昌编著. 科学出版社
3、http://msdn.microsoft.com/en-us/library/windows/desktop/ms682087(v=vs.85).aspx
该网页是Console Reference(Windows API的控制台参考资料)。
包括: Console Functions(控制台函数),Console Structures(控制台数据结构),Console WinEvents(控制台事件)。
4、C库函数-cppreference.chm(已编译的HTML帮助文档)。
5、http://benryves.com/tutorials/winconsole/
参考资料3、5的相关资料在2013年-C语言课程设计\Windows Console Applicate Programming目录下。
九、评分标准(百分制)
1、上机演示占40%(40分)。
其中功能演示占本部分的70%(28分),回答问题占本部分的30%(12分)。
2、课程设计报告占40%(40分)。
其中报告占本部分的70%(28分)(说明:其中实验体会占5分),源程序清单占本部分的30%(12分)。
3、程序风格占20%(20分)。
其中数据结构(如是否用十字交叉链表)以及代码的简洁性占本部分的50%(10分),程序注释占本部分的50%(10分)。
附件 《C语言程序设计》课程设计实验报告封面
华中科技大学计算机科学与技术学院
《C语言与程序设计》课程设计
实验报告
题目: xxxxxx信息管理系统
专业:
班级:
学号:
姓名:
成绩:
指导教师:
完成日期: 2013年 月 日
本文来源:https://www.2haoxitong.net/k/doc/1e0c17ebe2bd960591c677a3.html
文档为doc格式