C语言课程设计报告_计算机-.NET.pdf
《C语言课程设计报告_计算机-.NET.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计报告_计算机-.NET.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 欢迎下载 XX大学 课 程 设 计 报 告 课程设计名称:C 语言课程设计 课程设计题目:排班系统 院(系):XX学院 专 业:XX 班 级:XX 学 号:XXXXXXXXXXXXX 姓 名:XX 指导教师:XXX 完成日期:XX年X月X日 欢迎下载 目 录 第1章 需求分析与概要设计.1 1.1 需求分析.1 1.2 概要设计.1 第2章 详细设计.2 2.1 排班系统基本结构.2 2.1.1 排班系统细节剖析.2 2.2 程序详细介绍(算法实现).3 第3章 调试分析.5 3.1 我的调试:.5 3.2 运行结果.5 第4章 用户手册及结束语.8 4.1 用户手册.8 4.2 结束语.8
2、 参考文献.9 附 录(程序清单).10 期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个人选择出一天然后系统进行排班输出其所输入数据的对
3、应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载 第 1 章 需求分析与概要设计 1.1 需求分析 1.题目要求:为多名保安设计一个排班系统,每人可以自行预先选出一天为休息日,系统打印可能的轮班方案并存储结果。尽可能做到令所有人满意,保排班方案的公平性。2.题目分析:本题的重点和难点在于保安的人数是不确定的,且他们可能选择的休息日也无法确定,所以方案的结果也就不仅仅有一种。由此可以看出只有解决好这两个问题,才能够符合该题目的要求,完成保安的排班工作。1.2 概要设计 1.总体思路:对于这道题目,我的思路是采用二维数组的方式来解决。大概过程是先假设所有人都上班,即没有休息日。然后再让每
4、个人进行选择自己希望的休息日。先每个人选择出一天,然后系统进行排班,输出其所输入数据的对应方案。然后在第一次所输数据的基础上,若还有其他选择,则进行二次输入,以此更改初始数据,重新设计可能的排班方案。2.细节实现:因为题目的要求是打印可能的方案,那么如何来实现打印呢?我采用了通过对二位数组中的每一个值用阿拉伯数字0 和 1 来标记,以 1 来表示工作,0 来表示休息。3.功能作用:本系统系保安的排班系统,可以完成基本的排班功能,在此基础上,还为用户设计了二次输入的选项,以此来解决当所输数据不满足要求,无法完成排班的问题,同时也可以为用户提供更多的可行方案,而不是仅仅局限于一种。期年月日欢迎下载
5、目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个人选择出一天然后系统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载
6、 第 2 章 详细设计 2.1 排班系统基本结构 有 无 图 2.1 排班系统基本结构 此排班系统主要分为:显示欢迎界面、排班界面及选择界面。该系统各部分间有序衔接,各尽其责,如图 2.1 所示,充分展现了该系统的协调性与整体性。2.1.1 排班系统细节剖析 此排班系统的重点在于每次对二维数组的赋值操作,最开始时是将所有的初值都赋为 1,然后以 0 来赋给选择对应日期、对应人的对应数值。这样一来,便可以将每个人的每天上班与否进行标记(1 是工作,0 是休息),这道题目的另一个难点在于对每个人有比较公平的方案,所以该问题在设计时,我就将含有小于规定数量工作人数的方案标记为不可行方案,同时在屏幕输
7、出该方案排出的结果,开始 屏幕显示欢迎界面 输入选择 排出方案 其他选择 保存方案 结束 期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个
8、人选择出一天然后系统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载 以供操作人员查阅该方案到底哪里不可行,利于下次输入数据地改动。2.2 程序详细介绍(算法实现)我的这套程序大致可以分为三个部分:1.数据输入部分 即第一次输入数据(每个人的选择),该部分是通过二位数组来实现的,以第几个人来控制数组的第一个下标,以周几来控制该数组的第二个下标,这样就可以将所有的人所有的天数看做一个二维表来实现选择信息的数字化,如表2.1、2.2 所示。表 2.1 每个人的工作选择 周一 周二 周三 周四 周五 周六 周日 1.zhao 工作 工作 工作 休息 工作 工作
9、工作 2.qian 工作 工作 工作 工作 工作 休息 工作 3.sun 工作 工作 工作 工作 工作 工作 休息 4.li 工作 工作 休息 工作 工作 工作 工作 5.zhou 工作 工作 休息 工作 工作 工作 工作 6.wu 工作 工作 工作 工作 工作 工作 休息 表 2.2 对应的数组 a 0(下标)1 2 3 4 5 6 0(下标)0 1 1 0 1 1 1 1(下标)1 1 1 1 1 0 1 2(下标)2 1 1 1 1 1 0 3(下标)3 1 0 1 1 1 1 4(下标)4 1 0 1 1 1 1 5(下标)5 1 0 1 1 1 1 6(下标)6 1 1 1 1 1
10、0 期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个人选择出一天然后系统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还
11、有其他选择 欢迎下载 2.数据转化为方案:该部分是以 for 循环为工具手段,对每一个数据进行扫描判断,然后将工作的人打印出来,即保安工作排班表。这样一个方案就完成了。3.方案的更改:此部分则是以更改个别数据为主,其他数据依然参照之前的数据,其实现的方法就是用第二次输入的数据,对第一次的数据进行覆盖,在这个覆盖的过程中,我们不仅要将二次选择的人及选择的天对应的数据更改为 0,同时还要对原数组中此人的选择对应的数值恢复为零,我最开始设计时,就忽略了这一点,造成输出的方案有的人一周休息一天,有的人休息了两天,失去了设计方案的公平性。以此造成很多困扰,后来经过详细分析、查找,我采用了每次只覆盖数组中
12、的数值,而将二次选择的人的首选数字进行保留,这样就实现了公平排班的理念。期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个人选择出一天然后系
13、统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载 第 3 章 调试分析 3.1 我的调试:1.在刚刚完成编译时,程序中有很多语法错误,如将“;”打成了中文输入法,甚至是干脆忘记打的情况,还有比如将 for 循环下面的括号只打了一半等,这些语法错误给我造成了许多困扰,后经逐条更改,最后终于得以运行。2.除了一些语法错误,在运行的过程中还出现了许多其他的错误。如上文提到的由于没有将初次选择更改回为工作,造成方案的不公平等,这个问题我在初期一直没有弄懂,后经单步调试,对数组中的逐个数字进行跟踪,终于发现了这个问题,并想出方案解决 3.2 运行结果 该软件运行时
14、会出现以下几种情况:1.正常进行排班,显示出对应的排班方案,如图3.1 所示:图 3.1 正常排班 期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休
15、息日先每个人选择出一天然后系统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载 2.更改其中一个人的选择,输出第二方案,如图 3.2:图 3.2 其他选择 3.无其他选择,保存方案至文件“保安排班方案”,如下图:图 3.3 存储的方案 期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确
16、定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个人选择出一天然后系统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载 4.当用户输入的选择对应的方案不可行时,软件会给出提示,如图 3.4 所示:图 3.4 方案不可行 5.这时我们对选择进行二次调整,如图 3.5 所示:图 3.5 调整方案 期年月日欢迎下载目录第章需求分析与概要设计需求分析概要设计第章详细设计排班系统基本结构排班系统细节剖析程序详细介绍算法实现第章调试分析
17、我的调试运行结果第章用户手册及结束语用户手册结束语参考文献附录程序清为休息日系统打印可能的轮班方案并存储结果尽可能做到令所有人满意保排班方案的公平性题目分析本题的重点和难点在于保安的人数是不确定的且他们可能选择的休息日也无法确定所以方案的结果也就不仅仅有一种由此可以看出采用二维数组的方式来解决大概过程是先设所有人都上班即没有休息日然后再让每个人进行选择自己希望的休息日先每个人选择出一天然后系统进行排班输出其所输入数据的对应方案然后在第一次所输数据的基础上若还有其他选择 欢迎下载 第 4 章 用户手册及结束语 4.1 用户手册 本软件用户请注意以下几点:1.当打开本软件时,会出现欢迎使用界面,同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 计算机 NET
限制150内