教师工作量管理系统课程设计C语言.docx
- 文档编号:7640351
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:107.44KB
教师工作量管理系统课程设计C语言.docx
《教师工作量管理系统课程设计C语言.docx》由会员分享,可在线阅读,更多相关《教师工作量管理系统课程设计C语言.docx(12页珍藏版)》请在冰豆网上搜索。
教师工作量管理系统课程设计C语言
成绩评定表
学生姓名
宁
班级学号
1209030104
专业
统计学
课程设计题目
教师工作量管理系统
评
语
组长签字:
成绩
日期
20年月日
课程设计任务书
学院
理学院
专业
统计学
学生姓名
左茹
班级学号
1209030104
课程设计题目
设计一个教师工作量管理系统:
根据老师的上课情况,按照班级系数、职称等推算出工作量及报酬。
实践教学要求与任务:
1、进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;
2、针对C语言中的重点和难点容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
3、本次设计的教师工作量管理系统,需要运用到结构体、循环、数组、函数调用等大量知识点。
通过这个设计,来增加C语言知识的运用能力和自主学习能力。
4、通过此次课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
进一步掌握C语言中有关重要的数据结构,诸如:
数组、结构数组…等在程序开发中的应用。
工作计划与进度安排:
第一天:
确定题目,查找相关资料
第二天:
程序设计
第三、四天:
程序调试、测试
第五天:
答辩
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
201年月日
第一章.需求分析..................................................4
第二章.总体设计..................................................5
第三章.详细设计图..................................................6
第四章.测试.......................................................8
第五章.总结.......................................................8
第六章.程序代码...................................................9
第七章.参考文献...................................................13
第一章.需求分析
(一)研究背景:
随着高等学校的快速发展,高校教师的规模越来越大,教职工的数量也越来越多,每年对高校教师的评教管理无疑是一项琐碎、复杂而又十分细致的工作。
关于工作量的计算,项目繁多,而且一般不允许出错。
在以往,教务部门对教师工作量的统计工作一直都是采取手工的方式,每年需填制大量的表格,这就会耗费工作人员大量的时间和精力。
如若采用专门的计算机管理系统,不仅能够保证工作量核算准确无误、快速输出,而且还可以利用计算机对有关工作量的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高教师工作量管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
使用计算机管理系统来管理高校教师工作量已成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规数据管理行为,从而提高管理效率和水平。
高校教师工作量管理系统便是以计算机为工具,通过对工作量管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化、智能化,也提高了透明性和互动性。
(二)产品功能:
(1)工作量信息录入:
教师一个教学任务的信息为:
教师编号(不重复)、姓名、授课班级系数、理论课时、实验课时、教学任务总课时。
提供录入界面供用户输入数据,并以合理数据结构,诸如:
结构数组或数据文件的形式加以保存。
(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
主要菜单流程图:
工作量计算流程图:
职称=副教授
职称=1.0
第四章.测试
第五章.总结
对于这次我设计的教师工作管理,我感觉自己花了很多的时间并投入很多努力,虽然总是一次一次出现ERROR运行不了让人感到特气馁,但我还是坚持了下来,通过同学的帮助,把错误一个一个都解决掉了,最后才得以成功。
所以我要感谢老师和帮助过我的同学,让我在我的第一次课设中坚持了下来。
通过这次程序设计,使我加深了对C语言的认识,进一步熟悉了对C语言功能的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的帮助,使我对C语言程序设计这一基础学科又一次加深了认识,也意识到了其具有的强大功能和发展前景。
这会对以后的学习有所帮助。
第六章程序代码
#include
#defineMAX100
typedefstructcourse
{
inttheory;
intexperiment;
intclass_num;
floattotal;
}course;
structteacher
{
intid;
charname[10];
coursecour[10];
intnum;
floattotal;
floatreward;
intprofession;
}teacher[MAX];
intmain()
{intN=0,K;
voidmain_menu();
voidinput_teacher_information();
voidtotal_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();
return0;
}
voidmain_menu()
{
printf("\tWelcomeToTeacher'sManagementSystem\n");
printf("\t--------------------------------------------------\n");
printf("\t*1>Inputteacher'sinformation*\n");
printf("\t*2>Inquireabouttheamountofteacher'stotaltask*\n");
printf("\t*0>Exit*\n");
printf("\t--------------------------------------------------\n");
printf("pleaseinputtheordernumberyouneed:
\n");
}
voidinput_teacher_information()
{
inti,j,N;chartitle;
floatall_total=0;
printf("\tpleaseinputthenumberofteachers:
\n");
scanf("%d",&N);
if(N>=MAX)
printf("terror!
thenumberisreachlimit!
\n");
for(j=1;j<=N;j++)
{printf("pleaseinputNO.%dteacher'sinformation:
\n",j);
printf("\tpleaseinputteacher'sid:
");
scanf("%d",&teacher[j].id);
printf("\tpleaseinputteacher'sname:
\n");
scanf("%s",teacher[j].name);
printf("\tpleasechooseteacher'spositionaltitles:
\n");
printf("A.FullProfessorB.AssociateProfessorC.Others\n");
scanf("%c",&title);
switch(title)
{case'A':
teacher[j].profession=1.2;break;
case'B':
teacher[j].profession=1.1;break;
case'C':
teacher[j].profession=1.0;break;
default:
printf("terror!
\n");
}
printf("\tpleaseinputthenumberofteacher'scourses:
\n");
scanf("%d",&teacher[j].num);
for(i=0;i { printf("\tpleaseinputtheNO.%dcourse'sinformation: \n",i+1); printf("\tpleaseinputthenumberoftheorycourse: \n"); scanf("%d",&teacher[j].cour[i].theory); printf("\tpleaseinputthenumberofexperimentcourse: \n"); scanf("%d",&teacher[j].cour[i].experiment); printf("\tpleaseinputthenumberofclass(>=2): "); scanf("%d",&teacher[j].cour[i].class_num); if(teacher[j].cour[i].class_num<2) printf("tterror! thenumberofclassneedmorethan2! \n"); if(teacher[j].cour[i].class_num==2) teacher[j].cour[i].total=1.5*(teacher[j].cour[i].theory+teacher[j].cour[i].experiment); if(teacher[j].cour[i].class_num==3) teacher[j].cour[i].total=2*(teacher[j].cour[i].theory+teacher[j].cour[i].experiment); if(teacher[j].cour[i].class_num>=4) teacher[j].cour[i].total=2.5*(teacher[j].cour[i].theory+teacher[j].cour[i].experiment); } } for(j=1;j<=N;j++) {for(i=0;i<=teacher[j].num;i++) {all_total=all_total+teacher[j].cour[i].total; teacher[j].total=teacher[j].profession*all_total; teacher[j].reward=30*teacher[j].total; } all_total=0; } printf("\tDOyouwanttoexit? (y/n)\n"); if(getchar()=='y') main_menu(); } voidtotal_task() { intN;charH; printf("pleaseinputteacher'sid: \n"); scanf("%d",&N); printf("NAMEIDTOTALTASKREWARD\n"); printf("%-7s%-8d%-14.1f%-9.1f",teacher[N].name,teacher[N].id,teacher[N].total,teacher[N].reward); printf("\tDOyouwanttoexit? (y\n)\n"); H=getchar(); if(H=='y') main_menu(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教师 工作量 管理 系统 课程设计 语言