


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号武汉华夏理工学院课 程 设 计课程名称 C语言课程设计题 目保安值班排班系统设计专 业软件工程班 级姓 名成 绩指导教师2017年2月27日至2017年3月3日课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院设计题目:保安值班排班系统设计要求完成的主要任务:1. 任务描述学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休 制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序, 打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:钱:星期一、星期六、赵:星期二、星期四孙:星期三、星期日、李:星期五周:星期一
2、、星期四、星期六、吴:星期二、星期五陈:星期三、星期六、星期日2. 本课程涉及的知识点变量的定义、输入和输出函数、循环语句、数组、结构体等。3. 要求完成的任务 完成整个规定任务的设计及调试,且一定要画出程序流程图, 最后得出正确结果,并经教师检查及答辩;写出规范的课程设计说明书;课程设计结束后交设计说明书等文档和设计内容: 从2月27日起,学生每天至少要到设计教室半天以上;设计报告撰写格式要求:设计报告的主要内容是详细写出在设计过程中所用到的主要技术或方法;课程设计报告按国际通用格式书写,具体格式要求请见资料:“课程设计说明书的书写内容与格式”时间安排:第一天:学生先在实验室集中, 由指导教
3、师介绍课程设计的目的、布置任务后选题;第二天- 第五天:第四天:学生在实验室完成设计,经教师检查并回答提问,确认设计完成; 教师在计算机上先检查设计报告、学生修改后打印提交指导教师签字:2017年2月24日系主任签字:!2017年2月24日目录设计内容1设计题目12开发环境13开发工具14完成时间 15设计思想 16设计过程及设计步骤17测试运行78评价与修订109设计体会1010参考文献10附录: 121源程序122流程图162.1打印所有值班方案的流程图 162.2主函数流程图 172.3打印保安愿意休息的日期的流程图 17设计内容1设计题目保安值班排班系统设计2开发环境硬件环境:微机系列
4、,内存在1G以上,软件环境:Microsoft Win dows XP3开发工具Visual C+6.04完成时间2017-2- 275设计思想设计一个保安排班系统,分为5个模块,分别0-退出系统!1-打印所有值班方案! 2-打印所有保安名字!3-显示保安人数! 4-打印某名保安合适的休息时间。设计这个程序希望可以把保安轮休的所有可能方案打印出来,同时添加了相应的查询模块.第1个模块是实现退出功能的一个模块;第2个模块是打印所有可能轮休方案的一个模块;第3个模块是浏览所有保安姓名的一个模块;第4个模块是显示保安人数的一个模块;第5个模块选项可以对想要查询的保安进行查询(查询不同保安的合适休息时
5、间),该查询选项可以通过输入保安姓名将对应保安的信息打印到屏幕上.使用C+6.0制作。6设计过程及设计步骤1-1所示。图1-1保安值班排班系统的功能模块图1.先制作整个系统的功能模块图。保安值班排班系统的功能模块图如图2.3.然后制作菜单,为使界面更好看,多使用一些符号,例如*,-,完成后保存在函数 menu中,菜单程序代码如图1-2所示。g泊Menu()/严菜单+printfO'*! to this proram!* * *");1j閃晒“叭冇一-请输入一个数字从0到4中选择一pri ntf| %讨一一一一一一一一_ 一* ” 加priirtf('nn*0 退出系统
6、!*,)printf|1 -打印所育值班方案!printff'VnAn*2-打印所有保安名宇1printf(' nni*3 -显示保安人数!printfL"nn*4 -打印某名保安合适的休息时间!*1.print"nn*printfrnnnnr 请选择数宇:J 沪图1-2菜单的程序代码图再制作打印菜单,使用一个do while循环,循环条件设置为a<0|a>4,确保在输入0-4的时候程序开始运行,否则返回a。打印菜单程序代码如图1-3所示。int choicej)"宅打E卩菜单zint珅do Mmn叫艸scartfjW&aPwh
7、lle(a<o| |aM)yreturn 合;"图1-3打印菜单的程序代码图4. 主函数制作,输入 c后使用switch语句进行判断,caseO为退出程序,case1为打印 所有值班情况,case2打印保安名字,case3打印保安数量,case4打印保安愿意休息 的日期。主函数流程图如图1-4-1所示,主函数程序代码如图1-4-2所示。打印藍騎艰住杵就的休束时何iMih宅 rhlcMT UH血rnkbfeakbm*冷却图1-4-1主函数流程图皿dmsinu屮主凶加>inc附dpfzYmrcIs'bH1r=crpj-switthjcj-cast Q:矿1 ntfl
8、EnF祇r.:朋Icom fcttilt progra m! ':, snesk: coseEfi'intt(|.searchn(9);-httUh-SedrchJJflt*1flu$h3l>gLchd-|: 1j;treak;4J口 e 2:-师阿如赵祓孙李图吴炼Hfl幅网I扣getchi<():-Hrub« B;1pi<<'i±有丁宕保到1卜AuUMlh»让-£0艸kbre;別匕心ca se 4:匚ho celOp*-'flus冶11(计jetEharif);k;b紀k严册hl何产5. 打印保安
9、愿意休息的日期,输入保安名字后进行判断,使用if else语句,若输入的字符是7个保安中的任意一个则给b赋一个值,然后使用switch语句进行输出。打印保安愿意休息日期的流程图如图1-5-1所示,打印保安愿意休息日期的程序代码如图1-5-2所示。图1-5-1打印保安愿意休息的日期的流程图void choicelf)F/*打印保安愿意休息日期*, int b;charsl10;+JPintT请输入保安名字;iflstrcmplsX11 赵牛电 b=l;*else if(5trcTnp(51/'钱=0) b=2剜else iffstrcmptsir11 孙卞b=3;*else rffstr
10、cmpfsl/11 i=C) b=4;+Jelse iftstrcmpfsl/'Jf lh)-=0) b=5;*-else rffstrcmpfBL11 吴卞=0) b=6;else if|stremp(sl,"陳学列 b=7評else b=0;i5witch(b)ca&e “pfinttf对不起,姓名输入有词陶如case 1: printfl11 赵 case 2:prlntf"钱 case3;printQ"孙 caseJi:pnntf("$ case 5: printf(p 周 case6:printff': case/jpr
11、intfC'K星朋二,星期四'febreakx星期三”星期An);break星期三,是期天"铀閑kk星期五5breaks'星期一星期四,星期A"hbreak;p星期二,星期五争b©炽星期三星期六-星期BHibreak16. easel的内容制作,先记录每天可以休息的人,再打印方案。打印所有值班方案的流程图如图1-6-1所示,用于记录每天可以休息的人的程序代码如图1-6-2所示,打印方案的程序代码如图1-6-3所示。开始InntO初始化找非空void inttlf)-irt i;Afor£ il;i<8:i+>Jr【i】
12、【O】=O屮叩1却rffl2=0Pr(l(0=2;r|l(l=5r'r20=l; r2l-6;r3O=3;f3l=7r'r4HO=l; r(*K11=5rW 回=4; rMHl=fir(&(=2; r(&(l=5; r(&(2=7;/*记录霉天可以休息的人#rni0=3?rpl=7Int l;dBi=O;-5i=0 产,HK图1-6-2记录每天可以休息的人的程序代码图void print2()胪打E卩所有可能的值班方蓉int i;+Jfor.仪Switch (BCQ1 Keasel: printff1 赵 case 2 : pintf("钛 c
13、ase 3 : print ff'Jj «5e4: pintf("李 cases : printff周 casG : printff'吴 case? : printf("B KKprifitfCV')int canpace(int n)Prffsfnh-lreturn 0;return 1;+J");break "Ijbreak- H);break*J "Jjbreak+J ");break:*J ');break * ";beak*检查当前选择的人罡否已经安排过休假"&q
14、uot;*该人已痊安排休息日期图1-6-3打印方案的程序代码图7测试运行1. 欢迎界面运行图如图1-1所示。图1-1欢迎界面运行图2. 选项1打印所有值班方案执行图如图1-2所示XXJCJCMJCXJCJCMJCXXK M! XBLZMkRe IgOHI 10 t 11 IS IFO g 时已皿 t XKMiXXZMJCMiXJtJCXMlJOtJCXMi* 请输入一个数字从0亍I国中选择打* 0-退岀系统豊*”1-打印所有値班方案f* 2-打印所有保安名字P”* 3-显示保安人数辛* 4-打E卩某名保安合适的休息时间F*戋戋吴吴UK吴周氧钱st3.选项2打印所有保安名字执行图如图1-3所示。
15、Sj8-S1«请输入一个数于从0刮4中选择. -一一iM*e-退出系绩?* 1-打印所有值班方索t-M* 2-打印所有保安名宇?*3-显示保安人数T*4-打印某名保安合适的休息时间请选择数字! 2赵钱孙李周吴陈图1-3选项2打印所有保安名字执行图4. 选项3显示保安人数执行图如图1-4 所示lco m t & this pi*b住i*akin、jotatuxjtxxjotxjtjtxjtuxjtH !' - .- .-请=1刖入一个数亍从0到4中选择*0 -退岀系统?WM1 -打印所有值班方案!*2-打印所有保安名字?*3 -显示保安人数?*Jf4打印某名保安合适的休
16、息时间?*9(-臆选择数字幻共有7名保茹5. 选项4打印某名保安合适的休息时间(以周为例)执行图如图1-5所示hjch XM)i KJtxMX 興且貝試 moot 制 e Icon to th is pio fframf xjtJtxMxx 且貝* 请输入一个数字从 0 到叫中选择*M 4«* 0-退岀系:统甲* 1-打印所有值班方案?«p2-打印所有保安名字?* 3-显示保安人数?-k4-打印某名保安合适的休息时间豊*黔爍舊爹周星期-星期六图1-5选项4打印某名保安合适的休息时间执行图(以周为例)6. 选项4打印某名保安合适的休息时间(输入不符要求)如图 1-6 所示严耳
17、耳e lc om t o th is ppof施員 tcitxxit 買"-请输入一"数于从0到弓中选择AC«=鬓W-退出系统P 1-打印所有值別壬方案?* 2-打印所有保安名字半it*3-显示保安人数?*4-打印某名保安合适的休息时即WH.霖創音误tK图1-6选项4打印某名保安合适的休息时间图(输入不符要求)8评价与修订程序整体较好,只不过用时较长,打印方案处加上对应的星期会显得更加明显,菜单的排版较为美观,尝试下使用不同颜色的字体会是使用者更加喜欢,另外给程序加上一个有色背景的话亦可使人赏心悦目。9设计体会程序设计是一次让我们综合自己所学习的知识,把他应用到实
18、际的一次机会,平常我们学的编程语言总显得那么的不灵活,很多时候我们一本书学下来了,仍编不出一个简单的程序,通过对一个小项目功能的实现,我们不仅重温了平时所学的知识点,还增强了自己的动手能力。对于一个程序,在我看来,最重要的莫过于思路,同一个程序可以由多个思路来实现,然而我们所要做的就是通过多次的编码调试找出最简,最优思路。好的思路能无疑能使一个程序员实现事半功倍的效果。接着就要根据自己的思路为该程序设计算法,只有轮廓形成后才能开始编码,编写的过程中还应搜索记忆中的语言基础,找到最简便的表达方式,增加程序的可读性, 代码编写完成后,经过多次编译后无错误了也不代表 程序就完成了,运行程序时还应通过
19、多组不同情况,看能否实现。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考 的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题, 同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计之后,让我养成了编程的好习惯, 就是先列清自己的思路, 写清自己的算法,必要时还要画流程图, 编写程序时也不是依次 由上而下写,而是先把主要函数列出来再一一编写。10参考文献1. C语言编程
20、常见问题解答,美Paul S. R. Chishohm 等著,张芳妮吕波译,清华大 学出版社,2013年12月。2. C语言程序设计题解与上机指导,谭浩强编,清华大学出版社,2011年11月。与教材配套的上机指导。3. C程序设计(第二版),谭浩强编,清华大学出版社,2014年12月。设计过程中现场提问(或答辩)记载:Q:制作过程中使用了哪些学过的知识?A:数组,循环结构等。Q:打印所有方案的原理是什么?A:使用switch语句遍历查找。 学生Q:如何制作一个菜单的选项? 教师A:使用switch语句制作。Q:制作过程中如何克服知识点不足的问题?A:通过查找资料或百度。指导教师评语:成绩评定等
21、级:指导教师(签名):2017年3月6 日附录:1源程序#i nclude "stdio.h"#include "string.h"#in clude "stdlib.h"int r83; /*不同日期可以轮休的人int B8;/*记录当前日期对应人员安排int s8;/*记录当前人的休息安排情况void Me nu(); /*int choice();void in tt1();int can place(i nt n);void prin t2();void search11(i nt m);void choice1();函数声明
22、void mai n()/*主函数int c;dosystem("cls");c=choice();switch(c) case O:pri ntf("nnntttWelcom to this program!");break;case 1:in tt1();search11(9);in tt1();search11(1);flushall();getchar();break;case 2:printf("n 赵钱孙李周吴陈”);flushall();getchar();break;case 3:prin tf("共有7 名保安!&q
23、uot;);flushall();getchar();break;case 4: choice1();flushall();getchar();break;while(c);void Menu()/*菜单printf("n*Welcomtothisprogram!*") printf("nn*");printf("nn* ");prin tf("nn*");prin tf("nn*");prin tf("nn*");prin tf("nn*");prin
24、tf("nn*");印所有值打印所有保安名字!显示保安人数!4 -打印某名保安合适的休息时间!printf("nn*");prin tf("nnnnnin t choice() /*int a;do Men u(); scan f("%d", &a);while(a<0|a>4); return a;void choice1() /* int b;char s110;printf("请输入保安名字:");sca nf("%s",s1);请选择数字:”);打印菜单打印
25、保安愿意休息日期if(strcmp(s1," 赵")=0) b=1;钱")=0) b=2;孙")=0) b=3;李")=0) b=4;周")=0) b=5; 吴")=0) b=6;陈")=0) b=7;r60=2;r61=5;2=7;/*记录每天可以休息的人else if(strcmp(s1,"else if(strcmp(s1,"else if(strcmp(s1,"else if(strcmp(s1,"else if(strcmp(s1," else if(st
26、rcmp(s1," else b=0;case 0:pri ntf(”对不起,姓名输入有误 门;break;case 1:pri ntf(”赵星期二,星期四”);break;case 2:pri ntf(”钱星期三,星期六”);break;case 3:pri ntf(”孙星期三,星期天");break;case 4:pri ntf(”李星期五");break;case 5:pri ntf(”周星期一,星期四,星期六");break;case 6:pri ntf(”吴星期二,星期五");break;case 7:pri ntf(”陈星期三,星期六,星期日");break;switch(b)void in tt1()i nt i;for( i=1;i<8;i+)ri0=0; ri1=0; ri2=0;r10=2;r11=5;r20=1;r21=6;r30
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 呼叫中心员工心理健康促进考核试卷
- 泡沫塑料的耐黄变性能考核试卷
- 珠海三中高一下学期期中考试文科化学试题
- 苏州工艺美术职业技术学院《中学数学教学设计与案例研究》2023-2024学年第二学期期末试卷
- 四川省泸县一中2025年高三4月综合练习(一模)化学试题试卷含解析
- 天津市蓟州区2024-2025学年中考物理试题原创模拟卷(四)含解析
- 沈阳化工大学《医学发育生物学》2023-2024学年第二学期期末试卷
- 山东省德州市夏津一中2025届高三仿真模拟(打靶卷)英语试题试卷含解析
- 山东省临沂临沭县联考2025届学术联盟初三教学质量检测试题考试(二)数学试题试卷含解析
- 吉林省白城市洮北区第一中学2025届高三第一次调研考试英语试题试卷含解析
- GB/T 3961-1993纤维增强塑料术语
- GB/T 21923-2008固体生物质燃料检验通则
- GA 1205-2014灭火毯
- 第9课 两宋的政治和军事 说课课件(共19张PPT)- 人教统编版高中历史必修中外历史纲要上册
- 安徽生源化工有限公司100000吨年萘磺酸甲醛缩合物、3000吨年铸造用固化剂、2000吨年二苄胺、200吨年氯丙酰谷氨酰胺项目环境影响评价报告全本
- 湖北省高等学校教学成果奖推荐书、申请简表
- DB62∕T 25-3111-2016 建筑基坑工程技术规程
- DB33∕T 2196-2019 水利工程标识牌设置规范
- (高清版)外墙外保温工程技术标准JGJ144-2019
- 几种常见林业行政处罚案件证据标准
- 内政字[2004]436号
评论
0/150
提交评论