华中科技大学《C语言程序设计》课程设计大型作业任务书liu.docx
《华中科技大学《C语言程序设计》课程设计大型作业任务书liu.docx》由会员分享,可在线阅读,更多相关《华中科技大学《C语言程序设计》课程设计大型作业任务书liu.docx(16页珍藏版)》请在冰豆网上搜索。
华中科技大学《C语言程序设计》课程设计大型作业任务书liu
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.个人自助游行程基本信息参考:
中文字段名
类型及长度
举例或说明
行程编号
char[10]
顺序号
主要目的地名称
char[20]
喀什
目的地所属国家/省份
char[8]
新疆
出行期温度及穿衣指数
struct
最高-最低温度,着装推荐
大交通
char[10]
火车/飞机/轮船
主要景点
char[200]
喀什高台民居、香妃墓、卡拉库里湖、红旗拉普……
异地办理手续行程编号
Int
如需异地面签或提交材料,给出异地办手续的行程编号,否则为空
出发日期
char[8]
返回到达日期
char[8]
行程总天数
int
行程总人数
int
行程总费用
float
需根据每日费用明细计算获取
行程具体信息
Link
2.行程每日基本信息参考:
中文字段名
类型及长度
举例
所属行程编号
char[10]
序号
Int
如2:
代表第2天
早餐地点
char[50]
色满宾馆
上午景点
char[50]
喀什高台民居
午餐地点
char[50]
高台民居对面的馕坑烤肉店
下午景点
char[50]
喀什艾提尕尔清真寺
晚餐地点
char[50]
喀什夜市
小交通路线
Link
从出发地搭乘公汽/出租/租车等到达目的地的文字说明,可描述一天内的多条路线
住宿地点
char[20]
色满宾馆
费用明细
Link
3.每日消费明细基本信息参考:
中文字段名
类型及长度
举例
所属行程编号
char[10]
序号
Int
如2:
代表第2天
明细交易编号
char[8]
顺序号
交易时间
char[4]
9:
00am:
0900
交易类别
char[8]
餐饮/小交通/门票/购物/其它
交易金额
Float
是否预支付
Char[1]
支付方式
Char[1]
现金/卡:
1/0
说明
Char[50]
如:
高台民居4人门票
(二)停车场收费管理信息系统
1.停车场签约单位基本信息参考:
中文字段名
类型及长度
举例
单位编号
char[4]
单位名称
char[50]
登记车辆数目
short
固定车位数目
short
固定车位编号
停车场卡号
char[20]
费用缴纳月份
char[6]
如费用缴纳到本年7月份,则为:
201307
欠费金额
float
按月更新,显示截至上一个月份的欠费情况。
负责人姓名
char[8]
负责人办公室电话
char[8]
负责人移动电话
char[11]
负责人电子邮箱
char[50]
2.已登记车辆基本信息参考:
中文字段名
类型及长度
举例
所属单位编号
char[4]
登记车辆牌照
char[8]
车辆型号
char[50]
车辆颜色
char[10]
结账类别
char[1]
0:
月票,1:
按次月结,2:
单笔结账
3.车辆停车明细基本信息参考:
中文字段名
类型及长度
举例
所属单位编号
char[4]
车辆牌照
char[8]
停车序号
char[10]
进入停车场日期
char[6]
yyyymmdd
离开停车场日期
char[6]
yyyymmdd
进入停车场时间
char[4]
hhmm
离开停车场时间
char[4]
hhmm
停泊车位编号
char[4]
如A区106号车位:
A106
注:
该系统除以上主要信息,还需要设置停车月票具体费用,以及按时计费的规则,这一部分请自行设计。
(三)物流配送管理信息系统
1、物流配送系统,假设只有起始站点才能载货,一辆车的当前配送路线可涉及多条固定配送路线的站点;配送路线基本信息参考:
中文字段名
类型及长度
举例
固定配送路线编号
char[6]
固定配送路线名称
char[20]
如:
关山线
固定配送路线总站点数
short
固定配送路线总公里数
float
全站点配送总耗时
float
正常交通情况下的总耗时(包括站点停留耗时),分钟
起始站点编号
char[10]
终止站点编号
char[10]
负责人姓名
char[8]
负责人办公室电话
char[8]
负责人移动电话
char[11]
负责人电子邮箱
char[50]
2.经停站点详细信息参考:
中文字段名
类型及长度
举例
固定配送路线编号
char[6]
站点序号
int
站点编号
char[10]
站点名称
char[50]
与起始站点距离
float
公里
与上一个站点距离
float
公里
与上一个站点交通耗时
float
分钟
停留耗时
float
分钟
经过本站点固定路线编号,如为多条固定路线的交汇站点,需要给出多条固定路线编号
3.配送车辆基本信息参考:
中文字段名
类型及长度
举例
车辆牌照
char[8]
执行配送路线编号
char[6]
司机姓名
char[8]
司机移动电话
char[11]
运货清单
struct
自行设计,至少需要有车辆在本站点载货/卸货的货物信息,特别是容量信息
四、需实现的系统功能
(一)各种基本数据的录入
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、
该网页是ConsoleReference(WindowsAPI的控制台参考资料)。
包括:
ConsoleFunctions(控制台函数),ConsoleStructures(控制台数据结构),ConsoleWinEvents(控制台事件)。
4、C库函数-cppreference.chm(已编译的HTML帮助文档)。
5、
参考资料3、5的相关资料在2013年-C语言课程设计\WindowsConsoleApplicateProgramming目录下。
九、评分标准(百分制)
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年月日