- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
保安值班安排
课 程 设 计 报 告
课程设计名称:数据结构课程设计
课程设计题目:保安值班安排
院(系):
专 业:
班 级:
学 号:
姓 名:
指导教师:
沈阳航空航天大学 课程设计任务书 课程设计名称 数据结构课程设计 专业 计算机科学与技术 学生姓名 闫鹏博 班级学号 2009040101144 题目名称 保安值班安排系统 起止日期 2011 年 1 月 3 日起至 2011 年 1 月 14 日止 课设内容和要求: 内容:
某公司有7名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制一程序,打印轮休的所有可能方案。每人选择的休息日如下:
赵:星期二、星期四 钱:星期一、星期六
孙:星期三、星期日 李:星期五
周:星期一、星期四、星期六 吴:星期二、星期五
陈:星期三、星期六、星期日
要求:
1.利用所学知识,设计相应的数据结构;
2.熟练运用开发环境;
3.完成软件的设计与编码;
4.熟练掌握基本的调试方法;
5.提交符合课程设计规范的报告。 参考资料:
[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2006
[2] 王晓东.算法设计与分析[M].北京:清华大学出版社,2007
[3] 徐宝文 李志. C程序设计语言[M].北京: 机械工业出版社,2004
[4] Erich Gamma,Richard Helm.设计模式(英文版)[M].北京:机械工业出版社, 2004 教研室审核意见: 教研室主任签字: 指导教师(签名) 年 月 日 学 生(签名) 年 月 日
目 录
1 需求分析 1
1.1 问题描述 1
1.2 问题理解 1
2 系统设计 2
2.1 总体方案设计 2
2.2 数据结构设计 2
2.3 函数设计 2
2.4 关键流程 3
2.4.1 系统主流程 3
2.4.2 dfs函数流程 5
3 调试分析 6
4 测试及运行结果 7
参考文献 9
附 录 10
1 需求分析
1.1 问题描述
某公司有7名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。每人选择的休息日如下:
赵:星期二、星期四 钱:星期一、星期六
孙:星期三、星期日 李:星期五
周:星期一、星期四、星期六 吴:星期二、星期五
陈:星期三、星期六、星期日
1.2 问题理解
这是一道特别切合实际的问题,一共七个人换着值班,每个人都与自己的值班休息时间。根据此问题编写程序输出所有的值班休息安排和统计共有几种可执行方案。解决此题目可以用学过的数据结构知识构建解题算法,再将算法用学过的c语言编写,就可以解答此题。
2 系统设计
2.1 总体方案设计
一共七的人从周一到周末值班安排,每个人有自己的规定休息日期,解决此题目首先建立一个七行八列的矩正,在对矩阵表进行顺序读取,将得到得数存入另一个数组中。这个过程可以通过递归算法实现。可以用数据结构知识先写出算法最后用C语言编出程序。
2.2 数据结构设计
求解该题需要用运数据结构中的数组这个知识,将人名放入一个数组中表示如:const char name[7][10] = { zhao, qian, sun, li, zhou, wu, chen } ;再将七个人得休息安排放入一个二位数组中表示如int peace[7][8]。
2.3 函数设计
﹙1﹚本系统所设计的函数见表2.1。
表2.1 函数列表
函数名 函数原型 函数功能 mian int mian( ) 主函数,可实现对子函数dfs的调,建立数组peace[7][8],name[7],输入输出结果 dfs void dfs(int c) 此函数的作用是深度遍历查找数据,把找到的新数据放入数组week[7]中。
﹙2﹚本系统函数的调用关系见图2.1。
图2.1 函数调用关系
2.4 关键流程
2.4.1 系统主流程
(1)主函数的简单描述:
输入每一个人的名字和休息工作情况,建立一个数组包含每个人的工作休息情况,调用深度查找函数,将查到的数据存入另一个数组中,最后输出合理的休息安排。
(2)主函数的流程图,本函数的具体流程见图2.2。
人名数组name[7],二维数组peace[7 ][8
文档评论(0)