您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C语言院教师工作量统计课程设计报告书
C语言课程设计报告书课程名称:C语言课程设计课题名称:院教师工作量计算系统班级:学号:姓名:指导老师:成绩:2010年6月C语言课程设计第1页.共13页一、课程设计目的1.通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2.通过课程设计,进一步掌握C语言中有关重要的数据结构,诸如:数组、结构数组、链表、数据文件…等在程序开发中的应用。3.通过课程设计,锻炼与提高程序开发和调试能力,要求程序可读性好、调试能力强。4.通过课程设计,增加C语言知识的运用能力和自主学习能力,能独立设计和实现一个中小型系统。二、课题设计内容以高校某学院工作量考核办法为背景,设计与开发一个高校教师教学工作量管理系统,提供教师教学工作量的录入、查找与计算功能。主要功能要求如下:(1)工作量信息录入:教师一个教学任务的信息为:教师编号(不重复)、姓名、职称、课程名称、授课班级、小课班级数目、理论课时、实验课时、教学任务总课时。提供录入界面供用户输入数据,并以合理数据结构,诸如:结构数组或数据文件的形式加以保存。(2)工作量计算:以教师为单位,计算出该教师一个学年的总工作量。计算公式如下:a.教学任务总课时。计算方法如下表:小班班级数目单个教学任务总课时21.5*(理论课时+实验课时)32*(理论课时+实验课时)=42.5*(理论课时+实验课时)b.一个学年总的教学工作量=所有单个教学任务总课时之和*职称系数。其中:正教授系数=1.2;副教授系统=1.1;其他职称系数=1。(3)查找:能查找一个教师年度工作量明细、查找某教师年度总作量。(4)超时费计算:统计该院年度工作量超过200学时的所有教师,以单价20元标准计算出其超时费,并显示出发放报表。(5)进一步考虑信息的编辑功能,能插入、修改、删除教师授课教学信息。C语言课程设计第2页.共13页(6)系统以菜单方式工作,界面应清晰直观,便于用户操作。三、系统总体设计1.主函数main()功能:设计字体和背景的颜色,调用菜单函数;2.菜单函数menu()功能:调出可视化的菜单外观界面,提供用户选择的入口,进入其他模块进行相关处理;3.信息输入函数enter()功能:录入需查询教师的相关信息(结构数组形式);4.信息保存函数save()功能:将录入的教师信息保存至文件;5.工作量计算函数count()功能:计算该教师一个学年的总工作量;6.查找函数search()功能:调用相关模块,对指定的信息项进行查询;7.超时费计算函数covex()功能:统计、计算教师一年度的超时费,并显示出发放报表;8.插入函数insert()功能:插入教师授课教学信息;主函数数据录入计算工作量保存数据查找数据计算超时费插入数据修改数据删除数据菜单函数退出C语言课程设计第3页.共13页9.修改函数alter()功能:对教师信息进行修改;10.删除函数()功能:删除不需要的信息。四、系统详细设计(一)数据结构设计(1)教师信息的定义structteacher/*定义结构数组名*/{intnumberofteacher;/*教师编号*/charname[80];/*教师姓名*/charprofessionaltitle;/*职称*/charnameofcourse;/*课程名称*/charnameofclasses;/*授课班级*/intnumberofsmallclasses;/*小班班级数目*/inttheoreticperiods;/*理论课时*/intexperimentalperiods;/*实验课时*/inttotalperiods;/*教学任务总课时*/}tea[N];(2)菜单的设计menu(){intchoice;clrscr();/*清屏*/printf(\n\t\t*************************MENU*************************\n);printf(\n\t\t1.Enternewdata);/*输入模块*/printf(\n\t\t3.Savedata);/*保存数据*/printf(\n\t\t2.Countload);/*计算工作量*/printf(\n\t\t4.Searchdata);/*查找数据*/printf(\n\t\t5.Countovertimeexpenses);/*计算超时费*/printf(\n\t\t6.Insertdata);/*插入数据*/C语言课程设计第4页.共13页printf(\n\t\t7.Alterdata);/*修改数据*/printf(\n\t\t8.Deletedata);/*删除数据*/printf(\n\t\t9.Exit);/*退出*/printf(\n\t\t******************************************************\n);while(1){choice=Menuselect();if(choice0||choice9)printf(InputERROR!);printf(\n);switch(choice);{case1:enter();break;case2:save();break;case3:count();break;case4:search();break;case5:covex();break;case6:insert();break;case7:alter();break;case8:delete();break;case9:exit(0);}}intMenuselect()/*输入选择相关功能的菜单*/{inti;printf(pleasetypeinyourchoice:);scanf(%d,&i);printf(\n);return(i);}(二)模口接块的设计程序主要是通过选择菜单manu()接入各个模块,用switch语句调用各个模块,通过break分开各个模块,进行所要操作的选择,也主要通过调用manu()菜单返回,再进行其他选项的选择。1.菜单函数C语言课程设计第5页.共13页通过菜单函数完成与其他模块的连接和退出,其运行程序见(一)中“菜单的设计”项,此处不再累述。2.信息的输入enter()通过case1进入,信息录入成功后调用menu()函数,先对输入的信息进行保存。3.信息保存save()在manu()中,通过case2调用save(),以文件形式对其进行保存;4.计算工作量covex()通过case3进入该函数,计算出教师年度工作量再返回主菜单。5.查找信息search()通过case4输入某教师姓名,查找该教师所有信息。6.计算超时费covex()case5:进入计算超时费模块,进行操作,再返回主菜单。7.插入数据insert()case6:补充插入一些数据,返回主菜单。8.修改数据alter()case7:修改电脑中的数据,返回主菜单。9.删除数据delete()case8:删除不需要的数据,返回主菜单。(三)流程图1.主要模块流程图:定义全局变量liang量主要选择菜单否输入错误是菜单选择项是否小于0或大于9Start主函数C语言课程设计第6页.共13页2.主要选择菜单流程图数据录入保存数据计算工作量查找数据计算超时费插入数据修改数据删除数据退出定义变量,输入相关信息是是输入choice菜单选择项是否小于0或大于9输入错误1??根据所选项接入子函数C语言课程设计第7页.共13页3.信息保存函数流程图4.工作量计算函数判断可否打开文件是否i=0in保存教师的信息i++是否不能打开文件关闭文件输出小班数目小班数目=2=2是A=1.5否小班数目=3A=2.5A=2否是定义变量C语言课程设计第8页.共13页(五)删除函数职称系数=1.0单个教学任务总课时=A*(理论课时+实验课时)职称=副教授=2否是职称=正教授职称系数=1.2否是职称系数=1.1年度总工作量=所有单个教学任务总课时之和*职称系数C语言课程设计第9页.共13页将内存中的数据重新存入二进制文件夹中结束k++是否是是intj=0,d=0,k=0;charname[80];work(*p)打开文件从文件中读出数据,记录数据块数J输入教师姓名开始k=j否q[k].name=name否output(&q[k])d=kd=kq[d]=q[d+1]d++C语言课程设计第10页.共13页五、运行结果(一)主菜单截图(二)信息录入界面截图C语言课程设计第11页.共13页(三)信息保存至文件成功截图(四)查找到的总工作量信息截图(五)超时费显示报表截图C语言课程设计第12页.共13页
本文标题:C语言院教师工作量统计课程设计报告书
链接地址:https://www.777doc.com/doc-2908664 .html