




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号武汉华夏理工学院课 程 设 计课程名称 C语言课程设计题 目 保安值班排班系统设计专 业 软件工程 班 级 姓 名 成 绩 指导教师 2017年2月27日至2017年3月3日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 设计题目:保安值班排班系统设计要求完成的主要任务:1. 任务描述学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:钱:星期一、星期六、赵:星期二、星期四孙:星期三、星期日、李:星期五 周:星期一、星期四、星期六、吴:星期二、星期五陈:星期三、星期六、星期日2.本课程涉及的知识点 变量的定义、输入和输出函数、循环语句、数组、结构体等。3.要求完成的任务 完成整个规定任务的设计及调试,且一定要画出程序流程图,最后得出正确结果,并经教师检查及答辩; 写出规范的课程设计说明书; 课程设计结束后交设计说明书等文档和设计内容: 从2月27日起,学生每天至少要到设计教室半天以上;设计报告撰写格式要求:设计报告的主要内容是详细写出在设计过程中所用到的主要技术或方法;课程设计报告按国际通用格式书写,具体格式要求请见资料:“课程设计说明书的书写内容与格式”时间安排:第一天: 学生先在实验室集中,由指导教师介绍课程设计的目的、布置任务后选题;第二天-第四天:学生在实验室完成设计,经教师检查并回答提问,确认设计完成;第五天: 教师在计算机上先检查设计报告、学生修改后打印提交指 导 教 师 签 字: 2017年2月 24日系 主 任 签 字: 2017年2月 24日目录设计内容11 设计题目12 开发环境13 开发工具14 完成时间15 设计思想16 设计过程及设计步骤17 测试运行78 评价与修订109设计体会1010 参考文献10附录:121源程序122流程图162.1打印所有值班方案的流程图162.2主函数流程图172.3打印保安愿意休息的日期的流程图17设计内容1 设计题目保安值班排班系统设计2 开发环境硬件环境:微机系列,内存在1G以上,软件环境:Microsoft Windows XP3 开发工具Visual C+6.04 完成时间 2017-2 27-2017.3.35 设计思想设计一个保安排班系统,分为5个模块,分别0-退出系统!1-打印所有值班方案! 2-打印所有保安名字!3-显示保安人数! 4-打印某名保安合适的休息时间。设计这个程序希望可以把保安轮休的所有可能方案打印出来,同时添加了相应的查询模块第1个模块是实现退出功能的一个模块;第2个模块是打印所有可能轮休方案的一个模块;第3个模块是浏览所有保安姓名的一个模块;第4个模块是显示保安人数的一个模块;第5个模块选项可以对想要查询的保安进行查询(查询不同保安的合适休息时间),该查询选项可以通过输入保安姓名将对应保安的信息打印到屏幕上.使用c+6.0制作。6 设计过程及设计步骤1. 先制作整个系统的功能模块图。保安值班排班系统的功能模块图如图1-1所示。图1-1保安值班排班系统的功能模块图2. 然后制作菜单,为使界面更好看,多使用一些符号,例如*,-,完成后保存在函数menu中,菜单程序代码如图1-2所示。图1-2菜单的程序代码图3. 再制作打印菜单,使用一个do while循环,循环条件设置为a4,确保在输入0-4的时候程序开始运行,否则返回a。打印菜单程序代码如图1-3所示。图1-3打印菜单的程序代码图4. 主函数制作,输入c后使用switch语句进行判断,case0为退出程序,case1为打印所有值班情况,case2打印保安名字,case3打印保安数量,case4打印保安愿意休息的日期。主函数流程图如图1-4-1所示,主函数程序代码如图1-4-2所示。图1-4-1主函数流程图图1-4-2主函数内容的程序代码图5. 打印保安愿意休息的日期,输入保安名字后进行判断,使用if else语句,若输入的字符是7个保安中的任意一个则给b赋一个值,然后使用switch语句进行输出。打印保安愿意休息日期的流程图如图1-5-1所示,打印保安愿意休息日期的程序代码如图1-5-2所示。图1-5-1打印保安愿意休息的日期的流程图 图1-5-2打印保安愿意休息的日期的程序代码图6. case1的内容制作,先记录每天可以休息的人,再打印方案。打印所有值班方案的流程图如图1-6-1所示,用于记录每天可以休息的人的程序代码如图1-6-2所示,打印方案的程序代码如图1-6-3所示。图1-6-1打印所有值班方案的流程图图1-6-2记录每天可以休息的人的程序代码图图1-6-3打印方案的程序代码图7 测试运行 1.欢迎界面运行图如图1-1所示。图1-1欢迎界面运行图2.选项1打印所有值班方案执行图如图1-2所示图1-2选项1打印所有值班方案执行图3.选项2打印所有保安名字执行图如图1-3所示。图1-3选项2打印所有保安名字执行图4.选项3显示保安人数执行图如图1-4所示图1-4选项3显示保安人数执行图5.选项4打印某名保安合适的休息时间(以周为例)执行图如图1-5所示图1-5选项4打印某名保安合适的休息时间执行图(以周为例)6.选项4打印某名保安合适的休息时间(输入不符要求)如图1-6所示图1-6选项4打印某名保安合适的休息时间图(输入不符要求)8 评价与修订 程序整体较好,只不过用时较长,打印方案处加上对应的星期会显得更加明显,菜单的排版较为美观,尝试下使用不同颜色的字体会是使用者更加喜欢,另外给程序加上一个有色背景的话亦可使人赏心悦目。9设计体会程序设计是一次让我们综合自己所学习的知识,把他应用到实际的一次机会,平常我们学的编程语言总显得那么的不灵活,很多时候我们一本书学下来了,仍编不出一个简单的程序,通过对一个小项目功能的实现,我们不仅重温了平时所学的知识点,还增强了自己的动手能力。对于一个程序,在我看来,最重要的莫过于思路, 同一个程序可以由多个思路来实现,然而我们所要做的就是通过多次的编码调试找出最简,最优思路。好的思路能无疑能使一个程序员实现事半功倍的效果。接着就要根据自己的思路为该程序设计算法,只有轮廓形成后才能开始编码,编写的过程中还应搜索记忆中的语言基础,找到最简便的表达方式,增加程序的可读性,代码编写完成后,经过多次编译后无错误了也不代表程序就完成了,运行程序时还应通过多组不同情况,看能否实现。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,让我养成了编程的好习惯,就是先列清自己的思路,写清自己的算法,必要时还要画流程图,编写程序时也不是依次由上而下写,而是先把主要函数列出来再一一编写。10 参考文献1.C语言编程常见问题解答,美Paul S. R. Chishohm等著,张芳妮吕波译,清华大学出版社,2013年12月。2. C语言程序设计题解与上机指导,谭浩强编,清华大学出版社,2011年11月。 与教材配套的上机指导。3. C程序设计(第二版),谭浩强编,清华大学出版社,2014年12月。设计过程中现场提问(或答辩)记载:Q:制作过程中使用了哪些学过的知识?A:数组,循环结构等。Q:打印所有方案的原理是什么?A:使用switch语句遍历查找。学生Q:如何制作一个菜单的选项?教师A:使用switch语句制作。Q:制作过程中如何克服知识点不足的问题?A:通过查找资料或百度。指导教师评语:成绩评定等级:指导教师(签名):2017 年 3月 6 日附录:1源程序#include stdio.h#include string.h#include stdlib.hint r83; /*不同日期可以轮休的人int B8; /*记录当前日期对应人员安排int s8; /*记录当前人的休息安排情况void Menu(); /*函数声明int choice();void intt1();int canplace(int n);void print2();void search11(int m);void choice1();void main() /*主函数 int c; dosystem(cls); c=choice(); switch(c) case 0:printf(nnntttWelcom to this program!);break; case 1: intt1(); search11(9); intt1(); search11(1); flushall(); getchar(); ;break; case 2: printf(n赵 钱 孙 李 周 吴 陈); flushall();getchar(); ;break; case 3: printf(共 有 7 名 保 安!); flushall(); getchar(); ;break; case 4: choice1(); flushall(); getchar(); ;break; while(c);void Menu() /*菜单 printf(n*Welcom to this program!*); printf(nn*-请输入一个数字从 0 到 4 中选择-*); printf(nn*-*); printf(nn* 0 - 退出系统! *); printf(nn* 1 - 打印所有值班方案 ! *); printf(nn* 2 - 打印所有保安名字! *); printf(nn* 3 - 显示保安人数! *); printf(nn* 4 - 打印某名保安合适的休息时间! *); printf(nn*-*); printf(nnnnn请选择数字:);int choice() /*打印菜单 int a; do Menu(); scanf(%d,&a); while(a4); return a;void choice1() /*打印保安愿意休息日期 int b; char s110; printf(请输入保安名字:); scanf(%s,s1); if(strcmp(s1,赵)=0) b=1; else if(strcmp(s1,钱)=0) b=2; else if(strcmp(s1,孙)=0) b=3; else if(strcmp(s1,李)=0) b=4; else if(strcmp(s1,周)=0) b=5;else if(strcmp(s1,吴)=0) b=6; else if(strcmp(s1,陈)=0) b=7; else b=0; switch(b) case 0:printf(对不起,姓名输入有误!);break; case 1:printf(赵 : 星期二 , 星期四);break; case 2:printf(钱 : 星期三 , 星期六);break; case 3:printf(孙 : 星期三 , 星期天);break; case 4:printf(李 : 星期五); break; case 5:printf(周 : 星期一 , 星期四 , 星期六);break; case 6:printf(吴 : 星期二 , 星期五); break; case 7:printf(陈 : 星期三 , 星期六 , 星期日);break; void intt1()int i;for( i=1;i8;i+)ri0=0;ri1=0;ri2=0;r10=2;r11=5;r20=1;r21=6;r30=3;r31=7;r40=1;r41=5;r50=4;r51=6;r60=2;r61=5;r62=7; /*记录每天可以休息的人r70=3;r71=7; int i; for(i=1;i8;i+)Bi=0;si=0; void print2() /*打印所有可能的值班方案 int i;for( i=1;i=8) /*搜索完毕时输出print2();if(rm0!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能物业管理系统平台创新创业项目商业计划书
- 2025北京师范大学淮南实验学校教师招聘9人(安徽)模拟试卷及一套完整答案详解
- 景区安全培训目录清单表课件
- 2023年科学四年级下册单元测试汇编
- 艾宾浩斯遗忘曲线在职业培训中的应用
- 物流企业仓储管理成本控制
- 小学美术古建筑保护教学案例与教案
- 社交媒体CRM中的多渠道整合策略研究-洞察及研究
- 校企合作项目方案及成果评估报告
- 2025河南洛阳博物馆招聘2人考前自测高频考点模拟试题及答案详解(历年真题)
- 稳评从业人员培训考试及答案解析
- 2025年度反洗钱阶段考试培训试考试题库(含答案)
- 2025年甘肃省兰州市榆中县招聘乡村医生考试参考试题及答案解析
- 收割芦苇施工方案
- 燃气入户安检课件
- 普通黄金现货购买合同8篇
- 预防静电安全知识培训课件
- 三力测试考试题库及答案视频讲解
- 2025年河南省人民法院聘用书记员考试试题及答案
- 2025年中学教师资格考试《综合素质》核心考点与解析
- 2025党校中青班入学考试试题及答案
评论
0/150
提交评论