保安值班安排

上传人:suns****4568 文档编号:85013472 上传时间:2019-03-06 格式:DOC 页数:16 大小:141.50KB
返回 下载 相关 举报
保安值班安排_第1页
第1页 / 共16页
保安值班安排_第2页
第2页 / 共16页
保安值班安排_第3页
第3页 / 共16页
保安值班安排_第4页
第4页 / 共16页
保安值班安排_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《保安值班安排》由会员分享,可在线阅读,更多相关《保安值班安排(16页珍藏版)》请在金锄头文库上搜索。

1、课课 程程 设设 计计 报报 告告 课程设计名称:数据结构课程设计数据结构课程设计 课程设计题目:保安值班安排 院(系): 专 业: 班 级: 学 号: 姓 名: 指导教师: 沈阳航空航天大学沈阳航空航天大学 课课程程设设计计任任务务书书 课程设计名称 数数据据结结构构课课程程设设计计专业计计算算机机科科学学与与技技术术 学生姓名闫鹏博闫鹏博班级94010105学号2009040101144 题目名称保保安安值值班班安安排排系系统统 起止日期2011年1月3日起至2011年1月14日止 课设内容和要求: 内容: 某公司有 7 名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行轮休制度,

2、一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制一程序,打 印轮休的所有可能方案。每人选择的休息日如下: 赵:星期二、星期四 钱:星期一、星期六 孙:星期三、星期日 李:星期五 周:星期一、星期四、星期六 吴:星期二、星期五 陈:星期三、星期六、星期日 要求: 1利用所学知识,设计相应的数据结构; 2熟练运用开发环境; 3完成软件的设计与编码; 4熟练掌握基本的调试方法; 5提交符合课程设计规范的报告。 参考资料: 1 严蔚敏,吴伟民.数据结构(C 语言版)M.北京:清华大学出版社,2006 2 王晓东.算法设计与分析M.北京:清华大学出版社,2007 3 徐宝文 李志.

3、C 程序设计语言M.北京: 机械工业出版社,2004 4 Erich Gamma,Richard Helm设计模式(英文版)M.北京:机械工业出版社, 2004 教教研研室室审审核核意意见见: 教教研研室室主主任任签签字字: 指导教师(签名)指导教师(签名)年月日 学学 生(签名)生(签名)年月日 I 目目 录录 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 测

4、试及运行结果测试及运行结果.7 参考文献参考文献.9 附附 录录.10 1 1 需求分析 1.1 问题描述问题描述 某公司有 7 名保安人员:赵、钱、孙、李、周、吴、陈。由于工作需要进行 轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。 请编制程序,打印轮休的所有可能方案。每人选择的休息日如下: 赵:星期二、星期四 钱:星期一、星期六 孙:星期三、星期日 李:星期五 周:星期一、星期四、星期六 吴:星期二、星期五 陈:星期三、星期六、星期日 1.2 问题理解问题理解 这是一道特别切合实际的问题,一共七个人换着值班,每个人都与自己的 值班休息时间。根据此问题编写程序输出所

5、有的值班休息安排和统计共有几种可 执行方案。解决此题目可以用学过的数据结构知识构建解题算法,再将算法用学 过的 c 语言编写,就可以解答此题。 2 2 系统设计 2.1 总体方案设计总体方案设计 一共七的人从周一到周末值班安排,每个人有自己的规定休息日期,解决 此题目首先建立一个七行八列的矩正,在对矩阵表进行顺序读取,将得到得数存 入另一个数组中。这个过程可以通过递归算法实现。可以用数据结构知识先写出 算法最后用 C 语言编出程序。 2.2 数据结构设计数据结构设计 求解该题需要用运数据结构中的数组这个知识,将人名放入一个数组中表示 如:const char name710 = “zhao“,

6、 “qian“, “sun“, “li“, “zhou“, “wu“, “chen“ ;再 将七个人得休息安排放入一个二位数组中表示如 int peace78。 2.3 函数设计函数设计 1本系统所设计的函数见表 2.1。 表 2.1 函数列表 函数名函数原型函数功能 mianint mian( )主函数,可实现对子函数 dfs 的调,建立数组 peace78,name7,输入输出结 果 dfsvoid dfs(int c)此函数的作用是深度遍历查找数据,把找到的新数据放入数组 week7中。 2本系统函数的调用关系见图 2.1。 3 main 调用 dfs 图 2.1 函数调用关系 2.4

7、关键流程关键流程 2.4.1 系统主流程系统主流程 (1)主函数的简单描述: 输入每一个人的名字和休息工作情况,建立一个数组包含每个人的工作休 息情况,调用深度查找函数,将查到的数据存入另一个数组中,最后输出合理的 休息安排。 (2)主函数的流程图,本函数的具体流程见图 2.2。 人名数组 name7,二维数组 peace7 8 存放一个人的休息,i,j,n 用来标记 循环。 4 图 2.2 主函数的流程图 输入一个人的名字 namei i=7 结束 Y Y N 开始 N N Y N 5 2.4.2 dfs 函数流程函数流程 (1)dfs函数的简单描述:在数组 peace78中深度查找元素。

8、(2)星期数组 WEEK7,人名数组name7,二维数组 peace7 8 存放一个人的 休息,i,c 用来标记循环. 图 2.3dfs 函数的流程图 i=7 C=0 i #include const char name710 = “zhao“, “qian“, “sun“, “li“, “zhou“, “wu“, “chen“ ; int peace78=0; int week7=0; void dfs(int c) int i; if(c=7) printf(“n“); for(i=0;i7;i+) printf(“星期%d %sn“,i+1,nameweeki-1); else for(

9、i=1;i=peacec0;i+) if(!weekpeaceci) weekpeaceci=c+1; dfs(c+1); weekpeaceci=0; int main(int argc, char* argv) int i,j,n; 11 printf(“请输入保安请假情况(0 为工作,1 为请假)“); for(i=0;i7;i+) printf(“%s“,namei); for(j=0;j7;j+) scanf(“%d“, if(n) peacei+peacei0=j; dfs(0); return 0; 12 课程设计总结:课程设计总结: 1.这是一道特别切合实际的问题,一共七个人换

10、着值班,每个人都与自己 的值班休息时间。根据此问题编写程序输出所有的值班休息安排和统计 共有几种可执行方案。解决此题目可以用学过的数据结构知识构建解题 算法,再将算法用学过的 c 语言编写,就可以解答此题。 2.此题目中用到的数据结构知识不多,只用到了所学过的数组知识,并且 用到了循环得嵌套使用,这个知识点是借此体的关键,而且有一定的难 度。 3.在调试程序的过程中会遇到各种各样的错误,遇到错误要认真分析出现 错误的可能原因,一步一步慢慢细心的找错改正。 4.此题目是一道比较接近实际得问题,用云所学知识解决实际问题考察对 实际问题的分析能力。通过课程设计可以锻炼学生的解决实际问题和操 作能力,同时将课本上的只是活化。在做课程设计的过程中当学生遇到 不会,不懂,没学过的知识时可以自己上网找资料,去图书馆找资料, 或者是向明白的人请教,这也是一个学习的过程。 指导教师评语: 指导教师(签字): 年 月 日 课程设计成绩 13

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号