教师工作量管理系统_课程设计报告_C语言13227.pdf
-
资源ID:84006527
资源大小:467.55KB
全文页数:16页
- 资源格式: PDF
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
教师工作量管理系统_课程设计报告_C语言13227.pdf
-.-.可修编.成 绩 评 定 表 学生 XX 宁 班级学号 1209030104 专 业 统计学 课程设计题目 教师工作量管理系统 评 语 组长签字:成绩 日期 20 年 月 日 -.-.可修编.课程设计任务书 学 院 理学院 专 业 统计学 学生 XX 左茹 班级学号 1209030104 课程设计题目 设计一个教师工作量管理系统:根据老师的上课情况,按照班级系数、职称等推算出工作量及报酬。实践教学要求与任务:1、进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;2、针对 C 语言中的重点和难点容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。3、本次设计的教师工作量管理系统,需要运用到结构体、循环、数组、函数调用等大量知识点。通过这个设计,来增加 C 语言知识的运用能力和自主学习能力。4、通过此次课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。进一步掌握 C 语言中有关重要的数据结构,诸如:数组、结构数组等在程序开发中的应用。工作计划与进度安排:第一天:确定题目,查找相关资料 第二天:程序设计 第三、四天:程序调试、测试-.-.可修编.第五天:答辩 指导教师:201 年 月 日 专业负责人:201 年 月 日 学院教学副院长:201 年 月 日 目录 第一章.需求分析.4-.-.可修编.第二章.总体设计.5 第三章.详细设计图.6 第四章.测试.8 第五章.总结.8 第六章.程序代码.9 第七章.参考文献.13 第一章需求分析(一)研究背景:随着高等学校的快速发展,高校教师的规模越来越大,教职工的数量也越来越多,每年对高校教师的评教管理无疑是一项琐碎、复杂而又十分细致的工作。-.-.可修编.关于工作量的计算,项目繁多,而且一般不允许出错。在以往,教务部门对教师工作量的统计工作一直都是采取手工的方式,每年需填制大量的表格,这就会耗费工作人员大量的时间和精力。如若采用专门的计算机管理系统,不仅能够保证工作量核算准确无误、快速输出,而且还可以利用计算机对有关工作量的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、XX 性好、寿命长、成本低等。这些优点能够极大地提高教师工作量管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。使用计算机管理系统来管理高校教师工作量已成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规数据管理行为,从而提高管理效率和水平。高校教师工作量管理系统便是以计算机为工具,通过对工作量管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化、智能化,也提高了透明性和互动性。(二)产品功能:(1)工作量信息录入:教师一个教学任务的信息为:教师编号(不重复)、XX、授课班级系数、理论课时、实验课时、教学任务总课时。提供录入界面供用户输入数据,并以合理数据结构,诸如:结构数组或数据文件的形式加以保存。(2)工作量计算:以教师为单位,计算出该教师一个学年的总工作量。计算公式如下:a.教学任务总课时。计算方法如下表:小班班级数目 单个教学任务总课时 2 1.5*(理论课时+实验课时)-.-.可修编.3 2*(理论课时+实验课时)=4 2.5*(理论课时+实验课时)b.一个学年总的教学工作量=所有单个教学任务总课时之和*职称系数。其中:正教授系数=1.2;副教授系统=1.1;其他职称系数=1。(3)查找:能查找一个教师年度工作量明细、查找某教师年度总作量。(6)系统以菜单方式工作,界面应清晰直观,便于用户操作。第二章总体设计 1.主函数 main()主函数 数据录入 计算工作量 查找数据 菜单函数 退出-.-.可修编.功能:调用菜单函数;2.菜单函数 main_menu()功能:提供用户选择的入口,进入其他模块进行相关处理;3.信息输入函数 input_teacher_information()功能:录入需查询的教师和课程的相关信息(结构数组形式);4.查询教师工作量及报酬函数 total_task()功能:调用相关模块,对指定的信息项进行查询;第三章 详细设计图 流程图 主函数流程图:菜单选项是否小于 0 或大于 3 开始 否 定义全局变量主要选择菜单 否 输入错误 是-.-.可修编.主要菜单流程图:工作量计算流程图:数据录入 计算工作量 查找数据 退出 是 是 输入错误 根 据 所 选项 接 入 子输 入 选菜单选项是否小于 0或大于 3-.-.可修编.输出小班数目 小班数 目=2 是 A=1.5 否 小 班 数目=3 A=2.5 A=2 否 是 单个教学任务总课时=实验课时+理论课时 否 是 职 称=正教授 职系=1.2 否 是 职系=1.1 年度总工作量=所有单个教学任务总课时之和*职系数 职称=副教职称=1.0-.-.可修编.第四章.测试 第五章.总结 对于这次我设计的教师工作管理,我感觉自己花了很多的时间并投入很多努力,虽然总是一次一次出现 ERROR 运行不了让人感到特气馁,但我还是坚持了下来,通过同学的帮助,把错误一个一个都解决掉了,最后才得以成功。所以我要感谢老师和帮助过我的同学,让我在我的第一次课设中坚持了下来。-.-.可修编.通过这次程序设计,使我加深了对 C 语言的认识,进一步熟悉了对 C 语言功能的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的帮助,使我对 C 语言程序设计这一基础学科又一次加深了认识,也意识到了其具有的强大功能和发展前景。这会对以后的学习有所帮助。第六章 程序代码#include#define MAX 100 typedef struct course int theory;int experiment;int class_num;float total;course;struct teacher int id;char name10;course cour10;int num;-.-.可修编.float total;float reward;int profession;teacherMAX;int main()int N=0,K;void main_menu();void input_teacher_information();void total_task();main_menu();K=getchar();switch(K)case 1:input_teacher_information(N);break;case 2:total_task();break;case 0:exit(0);break;default:printf(terror!n);clrscr();return 0;-.-.可修编.void main_menu()printf(t Wele To Teachers Management Systemn);printf(t-n);printf(t*1Input teachers information*n);printf(t*2Inquire about the amount of teachers total task*n);printf(t*0Exit*n);printf(t-n);printf(please input the order number you need:n);void input_teacher_information()int i,j,N;char title;float all_total=0;printf(tplease input the number of teachers:n);scanf(%d,&N);if(N=MAX)printf(terror!the number is reach limit!n);for(j=1;j=N;j+)-.-.可修编.printf(please input NO.%d teachers information:n,j);printf(tplease input teachers id:);scanf(%d,&teacherj.id);printf(tplease input teachers name:n);scanf(%s,teacherj.name);printf(tplease choose teachers positional titles:n);printf(A.Full Professor B.Associate Professor C.Othersn);scanf(%c,&title);switch(title)case A:teacherj.profession=1.2;break;case B:teacherj.profession=1.1;break;case C:teacherj.profession=1.0;break;default:printf(terror!n);printf(tplease input the number of teachers courses:n);scanf(%d,&teacherj.num);for(i=0;i=2):);scanf(%d,&teacherj.couri.class_num);if(teacherj.couri.class_num=4)teacherj.couri.total=2.5*(teacherj.couri.theory+teacherj.couri.experiment);for(j=1;j=N;j+)for(i=0;i=teacherj.num;i+)all_total=all_total+teacherj.couri.total;teacherj.total=teacherj.profession*all_total;teacherj.reward=30*teacherj.total;all_total=0;-.-.可修编.printf(tDO you want to exit?(y/n)n);if(getchar()=y)main_menu();void total_task()int N;char H;printf(please input teachers id:n);scanf(%d,&N);printf(NAME ID TOTAL TASK REWARDn);printf(%-7s%-8d%-14.1f%-9.1f,teacherN.name,teacherN.id,teacherN.total,teacherN.reward);printf(tDO you want to exit?(yn)n);H=getchar();if(H=y)main_menu();