《保安值班安排系统》word版
保安值班安排系统
第一章课程设计的目的和要求
1.1课程设计的目的
C/C++语言课程设计的主要目的是培养我们综合运用C/C++语言程序设计课程所学到的知识,做相应的自主练习,消化课堂所讲解的内容,通过编写C/C++程序,积累调试C/C++程序的经验,完成所要求的题目,逐渐培养编程能力,解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。
1.进一步掌握和利用C/C++语言进行程序设计的能力。
2.进一步培养我们结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。
3.针对C/C++语言中的重点和难点内容进行训练,独立完成有一定工作量的课程设计任务,同时强调好课程设计风格。
4.掌握C/C++语言的编程技巧和上机调试程序的方法。
5.掌握程序设计的常用算法。
6.掌握书写程序开发文档的能力。
通过课程设计的训练,应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C/C++语言程序的基本技巧,充分理解结构化程序设计的基本方法。
另外,C语言本身的复杂性也是其比较难学的原因之一。C/C++不仅可以用来开发应用程序,更可用来设计系统程序。比起其他语言,C/C++增加的许多特点就是为了设计高质量的系统软件。因此,在程序设计的时候必须树立以下观念:学习思考的方法比学习语言更重要,琢磨程序设计的思维模式比琢磨C/C++语言的知识更重要,培养自己的思考能力比记忆语言知识更重要。
C/C++语言程序设计的主要任务是要求我们遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C/C++语言程序及编写设计报告。
1.2 课程设计的要求
课程设计的选题必须围绕本课程内容,确定一个或几个难度、份量适当的具体的工程实际项目,以便较系统地训练学生综合运用本课程所学知识解决工程实际
问题的能力
。课程设计题目都应给出原始数据。课程设计题目需要完成的工作量。课程设计的工作量包括:设计计算(包括程序控制),绘图设计说明书。学生在课程设计中初次运用本课程内容进行综合计算及设计,课程设计指导书要比较详细地指导学生进行规范化计算与设计步骤及有关要求,并附有完成各部分工作量所需时间及评分标准,以及检查学生设计进度及每一步应达到的基本要求。课程设计的参考资料除本课程所用教材外,还应准备相应的工程设计规范、设计手册,国家标准及其他资料。一方面为学生提供必要的设计资料,另一方面培养学生查阅、使用资料的能力。课程设计任务书及指导书每个学生一份,并于课程设计之前发给学生。
学生综合解决问题的能力将反映在设计的程序和编写的课程设计报告中,因此本课程设计的考核内容应该由以下两部分组成。
(1)编写的C/C++语言程序
●针对编写的C/C++程序,应该主要考查下列内容:
●是否符合题目要求,是否完成了主要功能;
●是否存在语法错误、逻辑错误及运行错误;
●程序设计是否合理;
●程序是否具有良好的可读性和可靠性;
●是否符合结构化程序设计所倡导的基本理念;
(2)课程设计报告
●针对提交的课程设计报告,应该主要考查下列内容:
●程序设计的报告内容是否全面,观点是否正确;
●设计过程是否符合结构化程序设计方法的基本原则;
●层次是否清楚,语言是否通顺;
●各种图表是否规范;是否具有良好的程序设计习惯。
第二章课程设计任务内容
程序实现的功能是对7个员工实现排班,7个员工每个员工有一天的休假日,但是这一天的休假日可由员工自行选择,选择他们想要休假的时间,可由多个选择,也可只有一个选择,7个员工依次输入完毕后,程序会输出满足7个员工的多种排班方式。对于7个人选择有冲突的,输出相应的提示。
具体题目:学校实验楼有7名保安人员:赵,钱,孙,李,周,吴,陈。由于工作需求要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。输出轮休的所有可能方案。当然使每个人都满意。
例如每人选择的休息日如下:
赵:星期二,星期四
钱:星期一,星期六
孙:星期三,星期日
李:星期五
周:星期一,星期四,星期六
吴:星期二,星期五
陈:星期三,星期六,星期日
第三章详细设计说明
3.1程序设计思路
课题要求设计一个保安排班系统:需要通过建立结构体及定义其指针变量,设计含有数组的输入函数并由键盘输入所需要的数据,如姓名,休息日等,再通过建立安排时间的函数对输入的信息进行处理,并最终通过输出函数输出所有合适的方案。
3.2函数模块、功能分析、参数说明
1.定义结构体
建立结构体struct peopleclass并分别定义其成员。利用结构体用来定义存储由键盘输入所需要的数据,七位员工的姓名和相应的休息日。
2. 输出欢迎界面函数
建立输出欢迎界面函数int CoutInterface(peopleclass *people)。利用此函数用来输出该系统的欢迎界面。
3.输入保安姓名函数
建立输入保安姓名函数int CinName(peopleclass *people) 并调用结构体,通过for循环和next指针变量进行输入保安姓名。
3-1输入保安姓名函数流程图
4.输入保安休息日函数
建立输入保安休息时间函数int CinDay(peopleclass *people),通过数组和指针变量以及if选择语句进行输入休息日期。
3-2输入保安休息日函数流程图
5.安排时间函数
建立时间安排程序int CoutPeople(peopleclass *people,int d,abcde *No),并通过for循环和不断赋值而建立时间安排程序。
6.输出函数
建立输出函数int coutf(peopleclass *people,abcde *No),利用for循环和指针变量依次输出所得方案。
3-3输出函数流程图
7.主函数
通过主函数调用定义结构体,CoutInterface(people)函数,CinName(people)函数,CinDay(people)函数,CoutPeople(people , namber , No)
函数,
coutf(people,No),来完成员工休息日安排这一工作。
3-4主函数流程图