C语言程序设计课程设计-教师工作量管理系统

上传人:na****u 文档编号:56504569 上传时间:2022-02-21 格式:DOC 页数:25 大小:441KB
收藏 版权申诉 举报 下载
C语言程序设计课程设计-教师工作量管理系统_第1页
第1页 / 共25页
C语言程序设计课程设计-教师工作量管理系统_第2页
第2页 / 共25页
C语言程序设计课程设计-教师工作量管理系统_第3页
第3页 / 共25页
资源描述:

《C语言程序设计课程设计-教师工作量管理系统》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计-教师工作量管理系统(25页珍藏版)》请在装配图网上搜索。

1、 学院课程设计报告C程序设计课程设计 专业电子信息工程 班级 姓名 学号 指导教师 2016年 12 月 新能源与动力工程学院课程设计任务书课程名称: C语言课程设计 指导教师(签名): 班级: 姓名: 学号: 一、课程设计题目 教师工作量管理系统二、课程设计使用的原始资料(数据)及设计技术要求:1.教材2.课程设计说明书三、课程设计的目的通过课程设计,主要达到以下目的:1使学生增进对C语言这门课的感性认识,加深对程序设计理论方面的理解;2使学生掌握计算机的内部功能模块的应用;3使学生了解和掌握C语言程序设计过程、方法及实现,为以后设计和实现计算机应用系统打下良好基础。四、课程设计的主要内容和

2、要求(包括原始数据、技术参数、设计要求、工作量要求等) 1.设计要求详见前言2.技术参数详见设计分析 3.用户操作详见附录一4.原始数据详见附录二五、工作进度安排时间设计内容要求12月20日熟悉题目、查阅资料,拟定设计方案按要求制定出切实可行的方案12月21日设计C语言程序完成C语言程序设计12月2223日程序调试及修改先进行程序调试再逐条分析、修改12月2425日程序整理调试并完成设计报告实现设计要求,报告按要求装订成册12月26日答辩向老师全面展示课程管理系统六、主要参考文献1谭浩强.程序设计(第四版)北京:清华大学出版社2010年6月。2Stephen PrataPrimer Plus著

3、 北京:人民邮电出版社2014年12月。审核批准意见系主任(签字) 年月日指导教师评语及成绩评定表指导教师评语成绩设计过程(40)设计报告(50)小组答辩(10)总成绩(100)指导教师签字: 年 月 日目录前 言- 5 -一、需求分析- 5 -1、 安全性分析- 5 -2、 稳定性分析- 6 -3、主要功能分析- 6 -二、具体设计流程- 7 -1、小组分工- 7 -2、程序设计流程图- 8 -三、详细实现- 9 -(一)main函数- 9 -(二)shuru()函数- 11 -四、测试- 12 -五、心得体会- 14 -六、致谢- 15 -参考文献- 16 -附录1用户手册- 17 -附录

4、2程序代码- 18 -前 言随着高等学校的快速发展,高校教师的规模越来越大,教职工的数量也越来越多,每年对高校教师的评教管理无疑是一项琐碎、复杂而又十分细致的工作。关于工作量的计算,项目繁多,而且一般不允许出错。在以往,教务部门对教师工作量的统计工作一直都是采取手工的方式,每年需填制大量的表格,这就会耗费工作人员大量的时间和精力。如若采用专门的计算机管理系统,不仅能够保证工作量核算准确无误、快速输出,而且还可以利用计算机对有关工作量的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高教师工作量

5、管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。使用计算机管理系统来管理高校教师工作量已成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高管理效率和水平。高校教师工作量管理系统便是以计算机为工具,通过对工作量管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化、智能化,也提高了透明性和互动性。一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统主要适用于学校教务处的工作人员统计教师的课程量,系统首先要

6、功能齐全,操作简便,还应该具有安全、稳定的特点。1、 安全性分析系统管理的数据涉及到学院的所有教师,数据量较,大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。2、 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3、主要功能分析计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、任教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)A、教师信息处理(1) 输入教师授课教学信息,包括教师号、姓名

7、、性别、职称、任教课程、班级、班级数目、理论课时、实验课时。(2) 插入(修改)教师授课教学信息:(3) 删除教师授课教学信息:(4) 浏览教师授课教学信息:B、教师工作量数据处理:(1) 计算单个教学任务总课时。计算原则如下表:班级数目单个教学任务总课时21.5*(理论课时+实验课时)32*(理论课时+实验课时)=42.5*(理论课时+实验课时)(2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。(3)教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。C、教师综合信息输出提示:输出教师信息到屏幕。整个程序的设计可分为7部分,即mai

8、n函数,shuru()函数,xiugai()函数,shanchu()函数,liulan()函数,chaxun()函数,以及最后的退出函数。Amain函数。这是整个程序的主函数,调用其他函数来完成功能的实现。B. shuru()函数。输入教师的一些基本信息。C. xiugai()函数。修改教师的信息。D. shanchu()函数。删除教师管理系统的教师信息。E. liulan()函数。显示所输入的教师的信息。F. chaxun()函数。通过教师号,查询教师的信息。G. 退出系统。退出运行界面。二、具体设计流程1、小组分工图(1)小组分工2、程序设计流程图图(2)主函数流程图 图(3)工作量计算流

9、程图图(4)主要菜单流程图三、详细实现(一)main函数void main() /主函数 int t;printf( 欢迎进入教师工作量管理系统 n);printf(-n); do printf( * 按1, 输入信息 * n); printf( * 按2, 修改信息 * n); printf( * 按3, 删除信息 * n); printf( * 按4, 浏览信息 * n); printf( * 按5, 查询信息 * n); printf( * 按0, 退出系统 * n); printf(-n); printf( 请输入选项(0-6):); scanf(%d,&t); if(t=5) dop

10、rintf(请重新输入选项(0-6):);scanf(%d,&t);while(6=t&tnumber);printf(请输入姓名:);scanf(%s,tt-xingming);printf(请输入性别:);scanf(%s,tt-sex);printf(请输入职称;);scanf(%s,&tt-zhicheng);printf(请输入任教课程:);scanf(%s,&tt-kecheng);printf(请输入班级:);scanf(%d,&tt-banji);printf(请输入班级数目(=2):);scanf(%d,&teai.shumu);if(teai.shumu=2):);scan

11、f(%d,&teai.shumu);while(teai.shumulilunkeshi);printf(请输入实验课时:);scanf(%lf,&tt-shiyankeshi);n+;i+;tt+;printf(信息输入完毕!n);printf(-n);四、测试输入教师信息:修改教师信息:删除教师信息:浏览教师信息:查询教师信息:五、心得体会对于这次我们组设计的教师工作量管理系统,我感觉自己花了很多的时间并投入很多努力,虽然总是一次一次出现错误,并感到特气馁,但我还是坚持了下来,通过同学和老师的帮助,把错误一个一个都解决掉了,最后才得以成功。所以我要感谢老师和帮助过我的同学,让我在我的课程设

12、计中坚持了下来。虽然变好了程序,获得了运行的结果,但是我也自知其中存在许多的不足之处,比如程序过于冗长,运行过程中界面有些混乱,容易让操作人员产生误解,某些功能不太完善。当然也有其优点所在,如程序结构清晰,有明确的操作提示等。总之,经过几天的课程设计,我对C语言有了更加浓厚的兴趣,它是一件非常有用的工具,学好它对我们以后的工作大有裨益。六、致谢为期一周的课程设计已经接近尾声了,回想这一周,小组的一起探讨,一起实践,共同前进,互相帮助,互相扶持,通过交流思想和方法把本组的课题攻克。同时也要感谢指导老师的耐心指导,一遍一遍的请教老师,老师耐心的解答,指出问题帮助我们做出一份合格的设计方案。同学和老

13、师的帮助让我挑战了自己。参考文献1谭浩强.程序设计(第四版)北京:清华大学出版社2010年6月。2Stephen PrataPrimer Plus著 北京:人民邮电出版社2014年12月附录1用户手册 运行程序后,会出现菜单界面,然后可以选择菜单选项选择要实现的功能,附录2程序代码#include#includestruct teacherchar number10; /教师号char xingming10; /教师名char sex3; /性别char zhicheng10; /职称char kecheng10; /任教课程int banji; /班级int shumu; /班级数目doub

14、le lilunkeshi; /理论课时double shiyankeshi; /实验课时double zongkeshi; /单个教学任务总课时;struct teacher tea100;struct teacher *tt;int n=0;int i=0;void shuru();void chaxun();void xiugai();void shanchu();void liulan();void main() /主函数 int t; printf( 欢迎进入教师工作量管理系统 n); printf(-n); do printf( * 按1, 输入信息 * n); printf( *

15、 按2, 修改信息 * n); printf( * 按3, 删除信息 * n); printf( * 按4, 浏览信息 * n); printf( * 按5, 查询信息 * n); printf( * 按0, 退出系统 * n); printf(-n); printf( 请输入选项(0-6):); scanf(%d,&t); if(t=5) doprintf(请重新输入选项(0-6):);scanf(%d,&t);while(6=t&tnumber);printf(请输入姓名:);scanf(%s,tt-xingming);printf(请输入性别:);scanf(%s,tt-sex);pri

16、ntf(请输入职称;);scanf(%s,&tt-zhicheng);printf(请输入任教课程:);scanf(%s,&tt-kecheng);printf(请输入班级:);scanf(%d,&tt-banji);printf(请输入班级数目(=2):);scanf(%d,&teai.shumu);if(teai.shumu=2):);scanf(%d,&teai.shumu);while(teai.shumulilunkeshi);printf(请输入实验课时:);scanf(%lf,&tt-shiyankeshi);n+;i+;tt+;printf(信息输入完毕!n);printf(-

17、n);void xiugai() /修改函数int c; int j; int d=0; int s=0; int z=0; char a10; printf(请输入教师号:); scanf(%s,&a); for( j=0;jn;j+)if(strcmp(teaj.number,a)=0)/strcmp(teaj.number,a),如果a与teaj.number相等,则输出为0 doprintf(-n); printf( 修改教师号, 请按1 n); printf( 修改姓名 , 请按2 n); printf( 修改性别 , 请按3 n); printf( 修改职称 , 请按4 n); p

18、rintf( 修改任教课程,请按5 n); printf( 修改班级 , 请按6 n); printf( 修改班级数目,请按7 n); printf( 修改理论课时,请按8 n); printf( 修改实验课时,请按9 n); printf( 退出系统 ,请按0 n); printf(-n); printf(请输入选项:); scanf(%d,&c); switch(c) case 0: break; case 1: printf(请输入新教师号:); scanf(%s,teaj.number);break; case 2: printf(请输入新的姓名:); scanf(%s,teaj.xi

19、ngming);break; case 3: printf(请输入新的性别:); scanf(%s,teaj.sex);break; case 4: printf(请输入新的职称:); scanf(%s,teaj.zhicheng);break; case 5: printf(请输入新的任教课程:); scanf(%s,teaj.kecheng);break; case 6: printf(请输入新的班级:); scanf(%d,&teaj.banji);break; case 7: printf(请输入新的班级数目:); scanf(%d,&teaj.shumu);break; case 8

20、: printf(请输入新的理论课时:); scanf(%ld,&teaj.lilunkeshi);break; case 9: printf(请输入新的实验课时:); scanf(%ld,&teaj.shiyankeshi);break; while(c!=0);s=1; printf(-n);if(s!=1)printf(输入无效,请核实后再输入!n);printf(-n);void shanchu() /删除函数int j;int d=0;int dd=n;int s;char a10;if(n!=0)printf(请输入要删除的教师号:);scanf(%s,&a);dofor(j=0;

21、jn;j+) if(strcmp(a,teaj.number)=0) s=j;d=1;dd-;while(strcmp(a,teaj.number)!=0&dd!=0);if(d=1) if(s!=(n-1)for(s;sn;s+)teas.banji=teas+1.banji;strcpy(teas.kecheng,teas+1.kecheng);/*将teas+1.kecheng复制给teas.kecheng*/teas.lilunkeshi=teas+1.lilunkeshi; strcpy(teas.number,teas+1.number);strcpy(teas.sex,teas+

22、1.sex);teas.shiyankeshi=teas+1.shiyankeshi; teas.shumu=teas+1.shumu; strcpy(teas.xingming,teas+1.xingming); strcpy(teas.zhicheng,teas+1.zhicheng); teas.zongkeshi=teas+1.zongkeshi;n-;tt-;printf(删除完毕!n);elsen-;tt-;elseprintf(输入无效!n);elseprintf(输入无效!n);printf(删除完毕!n);printf(-n);void liulan() /浏览函数if(n!

23、=0)int j;for( j=0;jn;j+)if(teaj.shumu=2)teaj.zongkeshi=1.5*(teaj.lilunkeshi+teaj.shiyankeshi);else if(teaj.shumu=3)teaj.zongkeshi=2*(teaj.lilunkeshi+teaj.shiyankeshi);elseteaj.zongkeshi=2.5*(teaj.lilunkeshi+teaj.shiyankeshi);printf(-n); printf(教师号t姓名t性别n);printf(%st%st%sn,teaj.number,teaj.xingming,t

24、eaj.sex); printf(职称t任教课程t班级n);printf(%st%stt%dn,teaj.zhicheng,teaj.kecheng,teaj.banji); printf(班级数目t理论课时tt实验课时tt教学任务总课时n);printf(%dtt%lftt,teaj.shumu,teaj.lilunkeshi); printf(%lftt,teaj.shiyankeshi); printf(%lf,teaj.zongkeshi); printf(n);printf(-n);elseprintf(数据为空!n);printf(-n);void chaxun() /查询函数in

25、t a;printf(-n);printf(按1,依教师号查询n);printf(按2,依姓名查询n);printf(请输入数字查询(1或2):);scanf(%d,&a);if(a!=1&a!=2)doprintf(请重新输入数字查询(1或2):);scanf(%d,&a);while(a!=1&a!=2);switch(a)case 1:int j; char q10;int d=0;printf(请输入教师号:);scanf(%s,&q);for( j=0;jn;j+) if(strcmp(q,teaj.number)=0) if(teaj.shumu=2) teaj.zongkeshi

26、=1.5*(teaj.lilunkeshi+teaj.shiyankeshi);else if(teaj.shumu=3) teaj.zongkeshi=2*(teaj.lilunkeshi+teaj.shiyankeshi);elseteaj.zongkeshi=2.5*(teaj.lilunkeshi+teaj.shiyankeshi);printf(-n);printf(教师号t姓名t性别n);printf(%st%st%sn,teaj.number,teaj.xingming,teaj.sex);printf(职称t任教课程t班级n);printf(%st%stt%dn,teaj.zh

27、icheng,teaj.kecheng,teaj.banji);printf(班级数目t理论课时tt实验课时tt教学任务总课时n);printf(%dtt%lftt,teaj.shumu,teaj.lilunkeshi);printf(%lftt,teaj.shiyankeshi);printf(%lf,teaj.zongkeshi);printf(n);printf(-n);d=1;if(d=0)printf(请核实后再输入!n);break;case 2:int j;char q10;int d=0;printf(请输入姓名:);scanf(%s,&q);for( j=0;jn;j+)if

28、(strcmp(q,teaj.xingming)=0)if(teaj.shumu=2)teaj.zongkeshi=1.5*(teaj.lilunkeshi+teaj.shiyankeshi);else if(teaj.shumu=3) teaj.zongkeshi=2*(teaj.lilunkeshi+teaj.shiyankeshi);else teaj.zongkeshi=2.5*(teaj.lilunkeshi+teaj.shiyankeshi);printf(-n);printf(教师号t姓名t性别n);printf(%st%st%sn,teaj.number,teaj.xingming,teaj.sex);printf(职称t任教课程t班级n);printf(%st%stt%dn,teaj.zhicheng,teaj.kecheng,teaj.banji);printf(班级数目t理论课时tt实验课时tt教学任务总课时n);printf(%dtt%lftt,teaj.shumu,teaj.lilunkeshi);printf(%lftt,teaj.shiyankeshi);printf(%lf,teaj.zongkeshi);printf(n);printf(-n); d=1; if(d=0)printf(请核实后再输入!n);break;- 25 -

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!