教师工作量管理系统_第1页
教师工作量管理系统_第2页
教师工作量管理系统_第3页
教师工作量管理系统_第4页
教师工作量管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈 阳 航 空 航 天 大 学 课程设计 学 号: 班 级: 姓 名: 指 导 教 师: 2011年 3 月 11日沈阳航空航天大学课程设计任务书系:动力与能源工程学院 专业:飞行器动力工程 班级:学号:题目:教师工作量管理系统一、课程设计时间201011第2学期第1周,即3月7日3月11日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:计算每个老师在一个学期中所教课程的总工作量(教师的信息为:教师号、姓名、所授课程、班级数目、理论课时、实验课时、单个教学任务总课时)。(1)输入教师教学信息,包括教师号、姓名、所授课程、班级数目、理论课时、实验课时。(2)插入教师授课信息。

2、(3)教师工作量计算: 计算单个教学任务总课时。计算原则如下表:班级数目单个教学任务总课时21.5*(理论课时+实验课时)32*(理论课时+实验课时)=42.5*(理论课时+实验课时) 计算一个教师一个学期总的教学工作量。总的教学工作量等于所有单个教学任务总课时之和。(4)完整的教师信息显示。三、课程设计要求程序质量:1贯彻结构化程序设计思想。2用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。3用户界面中的菜单至少应包括“输入教师信息”、“插入授课信息”、“工作量计算与显示”、“退出”4项。4代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程

3、设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目录一、需求分析1二、设计分析2三、主要界面截图4四、技术要点6五、个人总结9六、参考文献10七、源程序11一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统主要适用于学校教务处的工作人员统计教师的课程量,系统首先应功能齐全,操作简便,还应该具有安全、稳定的特点。1. 安全性分析系统管理的数据涉及到学院的所有教师,数据量较大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修

4、改。2. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3. 主要功能分析(1)数据输入:在使用系统时,操作人员需要根据系统提示,按要求输入教师的个人信息以及教师的授课信息。若输入出现错误,操作人员可以根正,但必要是需要退出系统后重新进入系统输入。(2)数据保存:对于输入的数据,或被修改的数据以及统计结果应该保存到某个磁盘文件中,实现永久存储。文件的具体格式题目未作具体要求,所以可采用随机文件,也可采用文本文件。不管采用哪种文件形式,文件中的数据应有固定的格式,以便于程序自动读取或人工阅读。二、设计分析主要有6个功能模

5、块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:1、程序总体结构图(传统流程图或N-S框图)图1程序总体结构图2、主要功能模块框图(传统流程图或N-S框图)(1)输入教师信息模块输入教师号pi.jsh=tea.jsh输入教师姓名strcpy(,)输入该名教师所授课程数目pi.a=tea.a图2输入教师信息模块(2)插入授课信息模块输入课程题目strcpy(wj.kctm,kc.kctm)输入该课程的班级数目wj.bjsm=kc.bjsm输入该课程理论课时数目wj.llks=kc.llks输入该课程实验课时数目wj.syks=kc.syks 图3

6、插入授课信息模块(3)教师工作量计算模块图4教师工作量计算模块三、主要界面截图图1 程序主界面图2 错误提示界面图3 退出系统界面图4 教师信息输入界面(输入系统校验数据)图5 信息输出界面四、技术要点1、结构体的应用定义了结构体用来描述教师的姓名、教师号、所授课程、班级数目、理论课时、实验课时。具体的定义如下:struct kcxxchar kctm15;int bjsm;int llks;int syks;struct teacherint jsh;char name15;int a;struct kcxx shouke5;struct teacher tea100; struct tea

7、cher *p;float sum100;/*存放教师的工作量*/所定义的结构体主要用于定义数组。2、文件操作此程序的文件操作主要是对教师信息及其授课信息的保存,将系统使用的数据及统计结果录入磁盘文件中以便查阅。具体的程序如下:void save(float *sum,int n,int *b)int z,i;FILE *fp, *fc, *fq;printf(请确认信息,如需文件保存请输入1并回车,无需保存输入2并回车。n);/*教师信息及统计结果的保存*/scanf(%d,&z);if(z=1)if(fp=fopen(teacher_xx,wb)=NULL)printf(文件打开失败n);

8、printf(未保存n);else fc=fopen(kechen_xx,wb);fq=fopen(teacher_gzl,wb);for(i=1;i=4)dgks=(llks+syks)*2.5;elseif(bjs=3)dgks=2*(llks+syks);elsedgks=(llks+syks)*1.5;return dgks; 主函数调用部分: case 3:/*计算*/if(cd1=1)&(cd2=2)for(e=1;e=n;e+)for(f=1;f=be;f+)/*e指定的是人数,f指定的是课程数*/c=pe.shoukef.bjsm;af=dan(c,pe.shoukef.llk

9、s,pe.shoukef.syks);sume=0;for(f=1;f=be;f+)sume+=af;printf(第 %d 位教师的工作量=%.2fn,e,sume);五、个人总结经过一周的课程设计后,我对C语言有了更加深入的认识。以前我们学习C语言只是仅限于书本的理论认识,上机调试一些简单的程序,对于把书中的知识真正运用到现实中去,去解决生活中的问题还未有过。这次的课程设计让我们切身感觉到了理论知识的实际作用,那些生活中的许多现象也不再那么神奇。由于C语言学了有些时日,所以在设计过程中参考了一些资料。面对这样陌生的课题,刚开始也是茫然一片,思路很混乱,不知道从何处开始。经过一段时间的思考,

10、我确定了编程思路,先解决程序的各分支问题,然后再将各部分的程序组合在一起从而完成程序的设计。当然,这也不是顺利的,编程需要无数次的修改,有时候还要完全推翻之前的模块设计重新开始,有时候也会因为出现一点小错误而无法通过编译时对着电脑苦思冥想。不过付出终是有回报的,自己编写的程序基本完成了所需要的功能,至于程序的一些优化和修饰就感觉简单多了。虽然变好了程序,获得了运行的结果,但是我也自知其中存在许多的不足之处,比如程序过于冗长,运行过程中界面有些混乱,容易让操作人员产生误解,某些功能不太完善。当然也有其有点所在,如程序结构清晰,有明确的操作提示等。总之,经过几天的课程设计,我对C语言有了更加浓厚的

11、兴趣,它是一件非常有用的工具,学好它对我们以后的工作大有裨益。六、参考文献1, 谭浩强C程序设计北京:清华大学出版社,2005七、源程序(所书写的全部源程序,排版要规范)#include #include#include /*定义全局变量以指代教师的个人信息和其授课信息*/struct kcxxchar kctm15;int bjsm;int llks;int syks;struct teacherint jsh;char name15;int a;struct kcxx shouke5;struct teacher tea100;struct teacher *p;float sum100;

12、/*存放教师的工作量*/*主函数开始*/void main()int i,j,b10,n,c,e,f,l=0;int cd1,cd2,cd3,cd4;float a10;p=tea;/*申明函数部分*/void shuru1(int i);void shuru2(int i,int j);float dan(int bjs,int llks,int syks);void shuchu(int *b,int n,float *sum);void save(float *sum,int n,int *b);/*输出界面*/printf(*nn);printf( n);printf( 欢迎进入教师工

13、作量管理系统 nnn);printf(*nnn);while(1)/*输出系统菜单*/printf( 系统菜单n);printf( *n);printf( * . 输入教师信息 *n);printf( * . 插入授课信息 *n);printf( . 教师工作量计算 n);printf( . 输出统计结果 n);printf( * . 保存教师信息及统计结果 *n);printf( * . 退出 *n);printf( *nn);printf( 说明:请按菜单序号依次执行,且必须首先执行前三项,重复输入将覆盖之前的输入信息。nn);printf( 请选择需要执行的菜单项:nn);scanf(%

14、d,&l);switch(l)case 1:printf( 请输入所需统计的教师人数,且人数小于一百n);scanf(%d,&n);for(i=1;i=n;i+)printf(请输入第 %d 位教师信息n,i);shuru1(i);/*输入教师信息*/bi=pi.a;/*b表示的是教师所授课程的数目,i指定第几位教师*/if(i=n)break;cd1=1;printf(输入结束,请进入下一项nn);break;case 2:if(cd1=1)printf(请对应输入教师的授课信息n);for(i=1;i=n;i+)printf(请输入第 %d 位教师的课程信息n,i);for(j=1;j=b

15、i;j+)shuru2(i,j);/*输入课程信息*/if(j=bi)break;printf(请输入下一课程信息!n);if(i=n)break;cd2=2;printf(输入结束,请进入下一项nn);elseprintf( o()o 请先输入教师信息!nnn);break;case 3:if(cd1=1)&(cd2=2)for(e=1;e=n;e+)for(f=1;f=be;f+)c=pe.shoukef.bjsm;af=dan(c,pe.shoukef.llks,pe.shoukef.syks);sume=0;for(f=1;f=be;f+)sume+=af;printf(第 %d 位教

16、师的工作量=%.2fn,e,sume);cd3=3;printf(计算完成,请进入下一项nn);elseprintf( o()o请先输入教师信息及其授课信息!nnnn);break;case 4:if(cd1=1)&(cd2=2)&(cd3=3)shuchu(b,n,sum);/*调用输出函数,输出完整的教师信息*/cd4=4;printf(输出完成,请进入下一项nn);elseprintf( o()o请先完善输入信息!nnnn);break;case 5:if(cd1=1)&(cd2=2)&(cd3=3) save(sum,n,b);elseprintf( o()o请先完善信息并运算!nnn

17、n);break;case 6:printf( 程序结束*谢谢使用n);printf( _ _ _ _ _ nnnn);exit(0);default: printf(输入错误,请输入菜单中存在的序号!n=4)dgks=(llks+syks)*2.5;elseif(bjs=3)dgks=2*(llks+syks);elsedgks=(llks+syks)*1.5;return dgks;/*输出函数*/void shuchu(int *b,int n,float *sum)int i,j;printf(nnn);printf( 信息输出如下:nn);printf(:n);for(i=1;i=n

18、;i+)printf(教师号 教师姓名n);printf(%5d %10snn,pi.jsh,);printf(所授课程 班级数目 理论课时 实验课时n);for(j=1;j=bi;j+)printf(%5s %10d %10d %10dnn,pi.shoukej.kctm,pi.shoukej.bjsm,pi.shoukej.llks,pi.shoukej.syks);printf(总教学工作量=%.2f课时n,sumi);printf(:n);printf(nn);/*保存信息*/void save(float *sum,int n,int *b)int z,i;FILE *fp, *fq;printf(请确认信息,如需文件保存请输入1并回车,否则输入2并回车。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论