教师工作量管理系统Word文件下载.docx
《教师工作量管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《教师工作量管理系统Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
12月21日
设计C语言程序
完成C语言程序设计
12月22~23日
程序调试及修改
先进行程序调试再逐条分析、修改
12月24~25日
程序整理调试并完成设计报告
实现设计要求,报告按要求装订成册
12月26日
答辩
向老师全面展示课程管理系统
六、主要参考文献
[1]谭浩强.《程序设计(第四版)》北京:
清华大学出版社2010年6月。
[2]StephenPrata《PrimerPlus》著北京:
人民邮电出版社2014年12月。
审核批准意见
系主任(签字) 年 月 日
指导教师评语及成绩评定表
指导教师评语
成绩
设计过程
(40)
设计报告
(50)
小组答辩
(10)
总成绩
(100)
指导教师签字:
年月日
前言
随着高等学校的快速发展,高校教师的规模越来越大,教职工的数量也越来越多,每年对高校教师的评教管理无疑是一项琐碎、复杂而又十分细致的工作。
关于工作量的计算,项目繁多,而且一般不允许出错。
在以往,教务部门对教师工作量的统计工作一直都是采取手工的方式,每年需填制大量的表格,这就会耗费工作人员大量的时间和精力。
如若采用专门的计算机管理系统,不仅能够保证工作量核算准确无误、快速输出,而且还可以利用计算机对有关工作量的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高教师工作量管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。
使用计算机管理系统来管理高校教师工作量已成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。
在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高管理效率和水平。
高校教师工作量管理系统便是以计算机为工具,通过对工作量管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化、智能化,也提高了透明性和互动性。
一、需求分析
根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。
该系统主要适用于学校教务处的工作人员统计教师的课程量,系统首先要功能齐全,操作简便,还应该具有安全、稳定的特点。
1、安全性分析
系统管理的数据涉及到学院的所有教师,数据量较,,大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。
2、稳定性分析
指系统比较健壮,只要是用户的合理操作,系统都应给出合理·
正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。
3、主要功能分析
计算每个老师在一个学期中所教课程的总工作量。
(教师单个教学任务的信息为:
教师号、姓名、性别、职称、任教课·
程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)
A、教师信息处理
(1)输入教师授课教学信息,包括教师号、姓名、性别·
、职称、任教课程、班级、班级数目、理论课时、实验课时。
(2)插入(修改)教师授课教学信息:
(3)删除教师授课教学信息:
(4)浏览教师授课教学信息:
B、教师工作量数据处理:
(1)计算单个教学任务总课时。
计算原则如下表:
班级数目
单个教学任务总课时
2
1.5*(理论课时+实验课时)
3
2*(理论课时+实验课时)
>
=4
2.5*(理论课时+实验课时)
(2)计算一个教师一个学期总的教学工作量。
总的教学工作量=所有单个教学任务总课时之和。
(3)教师数据查询:
提示:
输入教师号或其他信息,即读出所有数据信息,并显示出来。
C、教师综合信息输出
输出教师信息到屏幕。
整个程序的设计可分为7部分,即main函数,shuru()函数,xiugai()函数,shanchu()函数,liulan()函数,chaxun()函数,以及最后的退出函数。
A.main函数。
这是整个程序的主函数,调用其他函数来完成功能的实现。
B.shuru()函数。
输入教师的一些基本信息。
C.xiugai()函数。
修改教师的信息。
D.shanchu()函数。
删除教师管理系统的教师信息。
E.liulan()函数。
显示所输入的教师的信息。
F.chaxun()函数。
通过教师号,查询教师的信息。
G.退出系统。
退出运行界面。
二、具体设计流程
1、小组分工
图
(1)小组分工
2、程序设计流程图
图
(2)主函数流程图
图(3)工作量计算流程图
图(4)主要菜单流程图
三、详细实现
(一)main函数
voidmain()//主函数
{
intt;
printf("
欢迎进入教师工作量管理系统\n"
);
--------------------------------------------------------\n"
do
printf("
***按1,输入信息***\n"
printf("
***按2,修改信息***\n"
***按3,删除信息***\n"
***按4,浏览信息***\n"
***按5,查询信息***\n"
***按0,退出系统***\n"
请输入选项(0-6):
"
scanf("
%d"
&
t);
if(t<
=0&
&
t>
=5)
{
do
请重新输入选项(0-6):
scanf("
}
while(6<
=t&
t<
=0);
switch(t)
{
case0:
break;
case1:
shuru();
break;
case2:
xiugai();
case3:
shanchu();
case4:
liulan();
case5:
chaxun();
while(t!
(二)shuru()函数
voidshuru()
intj;
intd=1,c;
if(n==0)
tt=tea;
请输入教师号:
%s"
tt->
number);
请输入姓名:
xingming);
请输入性别:
sex);
请输入职称;
tt->
zhicheng);
请输入任教课程:
kecheng);
请输入班级:
banji);
请输入班级数目(>
=2):
tea[i].shumu);
if(tea[i].shumu<
2)
请重新输入(>
=2):
while(tea[i].shumu<
2);
请输入理论课时:
%lf"
lilunkeshi);
请输入实验课时:
shiyankeshi);
n++;
i++;
tt++;
信息输入完毕!
\n"
-------------------------------------------------------------\n"
四、测试
输入教师信息:
修改教师信息:
删除教师信息:
浏览教师信息:
查询教师信息:
五、心得体会
对于这次我们组设计的教师工作量管理系统,我感觉自己花了很多的时间并投入很多努力,虽然总是一次一次出现错误,并感到特气馁,但我还是坚持了下来,通过同学和老师的帮助,把错误一个一个都解决掉了,最后才得以成功。
所以我要感谢老师和帮助过我的同学,让我在我的课程设计中坚持了下来。
虽然变好了程序,获得了运行的结果,但是我也自知其中存在许多的不足之处,比如程序过于冗长,运行过程中界面有些混乱,容易让操作人员产生误解,某些功能不太完善。
当然也有其优点所在,如程序结构清晰,有明确的操作提示等。
总之,经过几天的课程设计,我对C语言有了更加浓厚的兴趣,它是一件非常有用的工具,学好它对我们以后的工作大有裨益。
六、致谢
为期一周的课程设计已经接近尾声了,回想这一周,小组的一起探讨,一起实践,共同前进,互相帮助,互相扶持,通过交流思想和方法把本组的课题攻克。
同时也要感谢指导老师的耐心指导,一遍一遍的请教老师,老师耐心的解答,指出问题帮助我们做出一份合格的设计方案。
同学和老师的帮助让我挑战了自己。
参考文献
人民邮电出版社2014年12月
附录1—用户手册
运行程序后,会出现菜单界面,然后可以选择菜单选项选择要实现的功能,
附录2—程序代码
#include<
stdio.h>
string.h>
structteacher{
charnumber[10];
//教师号
charxingming[10];
//教师名
charsex[3];
//性别
charzhicheng[10];
//职称
charkecheng[10];
//任教课程
intbanji;
//班级
intshumu;
//班级数目
doublelilunkeshi;
//理论课时
doubleshiyankeshi;
//实验课时
doublezongkeshi;
//单个教学任务总课时
};
structteachertea[100];
structteacher*tt;
intn=0;
inti=0;
voidshuru();
voidchaxun();
voidxiugai();
voidshanchu();
voidliulan();
intt;
--------------------------------------------------------------------------------\n"
do
***按1,输入信息***\n"
***按2,修改信息***\n"
***按3,删除信息***\n"
***按4,浏览信息***\n"
***按0,退出系统***\n"
if(t<
{do
shuru();
chaxun();
}}while(t!
voidshuru()//输入函数
}while(tea[i].shumu<
voidxiugai()//修改函数
intc;
intd=0;
ints=0;
intz=0;
chara[10];
a);
for(j=0;
j<
n;
j++)
if(strcmp(tea[j].number,a)==0)//strcmp(tea[j].number,a),如果a与tea[j].number相等,则输出为0
{
do{
修改教师号,请按1\n"
修改姓名,请按2\n"
修改性别,请按3\n"
修改职称,请按4\n"
修改任教课程,请按5\n"
修改班级,请按6\n"
修改班级数目,请按7\n"
修改理论课时,请按8\n"
修改实验课时,请按9\n"
退出系统,请按0\n"
请输入选项:
c);
switch(c)
case0:
case1:
请输入新教师号:
tea[j].number);
case2:
请输入新的姓名:
tea[j].xingming);
case3:
请输入新的性别:
tea[j].sex);
case4:
请输入新的职称:
tea[j].zhicheng);
case5:
请输入新的任教课程:
tea[j].kecheng);
case6:
请输入新的班级:
tea[j].banji);
case7:
请输入新的班级数目:
tea[j].shumu);
case8:
请输入新的理论课时:
%ld"
tea[j].lilunkeshi);
case9:
请输入新的实验课时:
tea[j].shiyankeshi);
}while(c!
s=1;
}}
if(s!
=1)
输入无效,请核实后再输入!
voidshanchu()//删除函数
intj;
intd=0;
intdd=n;
ints;
chara[10];
if(n!
=0)
请输入要删除的教师号:
{for(j=0;
if(strcmp(a,tea[j].number)==0)
{s=j;
d=1;
dd--;
}while(strcmp(a,tea[j].number)!
dd!
if(d==1){
if(s!
=(n-1))
for(s;
s<
s++)
tea[s].banji=tea[s+1].banji;
strcpy(tea[s].kecheng,tea[s+1].kecheng);
/*将tea[s+1].kecheng复制给tea[s].kecheng*/
tea[s].lilunkeshi=tea[s+1].lilunkeshi;
strcpy(tea[s].number,tea[s+1].number);
strcpy(tea[s].sex,tea[s+1].sex);
tea[s].shiyankeshi=tea[s+1].shiyankeshi;
tea[s].shumu=tea[s+1].shumu;
strcpy(tea[s].xingming,tea[s+1].xingming);
strcpy(tea[s].zhicheng,tea[s+1].zhicheng);
tea[s].zongkeshi=tea[s+1].zongkeshi;
n--;
tt--;
删除完毕!
!
}else{n--;
}}
else{printf("
输入无效!
else
voidliulan()//浏览函数
if(n!
for(j=0;
if(tea[j].shumu==2)
tea[j].zongkeshi=1.5*(tea[j].lilunkeshi+tea[j].shiyankeshi);
elseif(tea[j].shumu==3)
tea[j].zongkeshi=2*(tea[j].lilunkeshi+tea[j].shiyankeshi);
tea[j].zongkeshi=2.5*(tea[j].lilunkeshi+tea[j].shiyankeshi);
教师号\t姓名\t性别\n"
%s\t%s\t%s\n"
tea[j].number,tea[j].xingming,tea[j].sex);
职称\t任教课程\t班级\n"
%s\t%s\t\t%d\n"
tea[j].zhicheng,tea[j].kecheng,tea[j].banji);
班级数目\t理论课时\t\t实验课时\t\t教学任务总课时\n"