《教师工作量管理系统_课程设计报告_C语言.doc》由会员分享,可在线阅读,更多相关《教师工作量管理系统_课程设计报告_C语言.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、- .成 绩 评 定 表学生XX宁班级学号1209030104专 业统计学课程设计题目教师工作量管理系统 评语组长签字:成绩日期20 年 月 日课程设计任务书学 院理学院专 业统计学学生XX左茹班级学号1209030104课程设计题目设计一个教师工作量管理系统:根据教师的上课情况,按照班级系数、职称等推算出工作量及报酬。实践教学要求与任务:1、 进一步培养学生构造化程序设计的思想,加深对高级语言根本语言要素和控制构造的理解;2、 针对C语言中的重点和难点容进展训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。3、 本次设计的教师工作量管理系统,需要运用到构造体、循环、数组、函
2、数调用等大量知识点。通过这个设计,来增加 C语言知识的运用能力和自主学习能力。4、通过此次课程设计,加深对构造化程序设计思想的理解,能对系统功能进展分析,并设计合理的模块化构造。进一步掌握C语言中有关重要的数据构造,诸如:数组、构造数组等在程序开发中的应用。工作方案与进度安排:第一天:确定题目,查找相关资料第二天:程序设计第三、四天:程序调试、测试第五天:辩论指导教师: 201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日目录第一章. 需求分析.4第二章. 总体设计.5第三章. 详细设计图.6第四章. 测试.8第五章. 总结.8第六章. 程序代码.9第七章. 参考
3、文献.13第一章需求分析(一) 研究背景:随着高等学校的快速开展,高校教师的规模越来越大,教职工的数量也越来越多,每年对高校教师的评教管理无疑是一项琐碎、复杂而又十分细致的工作。关于工作量的计算,工程繁多,而且一般不允许出错。在以往,教务部门对教师工作量的统计工作一直都是采取手工的方式,每年需填制大量的表格,这就会消耗工作人员大量的时间和精力。如假设采用专门的计算机管理系统,不仅能够保证工作量核算准确无误、快速输出,而且还可以利用计算机对有关工作量的各种信息进展统计,同时计算机具有手工管理所无法比较的优点,例如检索迅速、查找方便、可靠性高、存储量大、XX性好、寿命长、本钱低等。这些优点能够极大
4、地提高教师工作量管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。使用计算机管理系统来管理高校教师工作量已成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,防止重复劳动,规数据管理行为,从而提高管理效率和水平。高校教师工作量管理系统便是以计算机为工具,通过对工作量管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化、智能化,也提高了透明性和互动性。(二) 产品功能:1工作量信息录入:教师一个教学任务的信息为:教师编号不重复、XX、授课班级系数、理论课时、实验课时、教学任务总课
5、时。提供录入界面供用户输入数据,并以合理数据构造,诸如:构造数组或数据文件的形式加以保存。 2工作量计算:以教师为单位,计算出该教师一个学年的总工作量。计算公式如下:a. 教学任务总课时。计算方法如下表:小班班级数目 单个教学任务总课时 2 1.5*理论课时+实验课时 3 2*理论课时+实验课时=4 2.5*理论课时+实验课时b. 一个学年总的教学工作量=所有单个教学任务总课时之和*职称系数。其中:正教授系数=1.2;副教授系统=1.1;其他职称系数=1。 3查找:能查找一个教师年度工作量明细、查找某教师年度总作量。6系统以菜单方式工作,界面应清晰直观,便于用户操作。第二章总体设计 主函数数据
6、录入计算工作量查找数据 菜单函数 退出1.主函数 main()功能:调用菜单函数;2.菜单函数main_menu()功能:提供用户选择的入口,进入其他模块进展相关处理;3.信息输入函数 input_teacher_information()功能:录入需查询的教师和课程的相关信息构造数组形式;4.查询教师工作量及报酬函数total_task()功能:调用相关模块,对指定的信息项进展查询;第三章 详细设计图流程图主函数流程图 :开场定义全局变量liang量主要选择菜单否输入错误是否菜单项选择项是否小于0或大于3数据录入计算工作量查找数据退出主要菜单流程图:是输入错误根据所选项接入子函数输入选项菜单
7、项选择项是否小于0或大于3是工作量计算流程图:单个教学任务总课时=实验课时+理论课时否是职称=正教授职系=1.2否是职系=1.1年度总工作量=所有单个教学任务总课时之和*职系数输出小班数目小班数目=2=2是A=1.5否小班数目=3A=2.5A=2否是职称=副教授职称=1.0第四章.测试第五章.总结对于这次我设计的教师工作管理,我感觉自己花了很多的时间并投入很多努力,虽然总是一次一次出现ERROR运行不了让人感到特气馁,但我还是坚持了下来,通过同学的帮助,把错误一个一个都解决掉了,最后才得以成功。所以我要感谢教师和帮助过我的同学,让我在我的第一次课设中坚持了下来。通过这次程序设计,使我加深了对C
8、语言的认识,进一步熟悉了对C语言功能的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的帮助,使我对C语言程序设计这一根底学科又一次加深了认识,也意识到了其具有的强大功能和开展前景。这会对以后的学习有所帮助。第六章 程序代码#include#define MAX 100typedef struct courseint theory;int experiment;int class_num;float total;course; struct teacherint id;char name10;course cour10;int num;float total;float r
9、eward;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;voi
10、d 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
11、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 teach
12、ers 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; defaul
13、t: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+)
14、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();- . 可修编.