您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > 教师工作量管理系统设计开发
本科生课程设计(实践)任务书、设计报告(C/C++语言程序设计)题目教师工作量管理系统设计开发学生姓名指导教师学院专业班级学生学号计算机基础教学实验中心教师工作量管理系统设计开发摘要:本课程设计是一个实现对教师工作量数据库库进行一定基本操作的程序设计,本课程设计中,程序设计设计语言采用VisualC++,运用数组、指针、函数结构体和各种变量编写程序,程序通过调试运行,基本实现开发目标中管理员查找,修改,添加,删除等功能,经过部分完善后,可以应用在实际教师工作量管理中。关键词:简易教师工作量管理程序功能需求分析(功能要求),简易学生成绩管理程序概要设计,简易学生成绩管理程序详细设计及系统功能实现,遇到的问题及解决的办法,总结。1、教师工作量管理系统程序功能需求分析(功能要求):采用文件和数组(或链表)等建立一个简单的教师工作量管理程序。程序运行时下述班级成绩表格(或其部分内容)在内存中用数组(或链表)表示,假设一学期开设课程不超过10名。程序运行结束时将表格保存到文件中以便下次使用。要求:A、教师信息处理(1)输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。(2)插入(修改)教师授课教学信息:(3)删除教师授课教学信息:(4)浏览教师授课教学信息:B、教师工作量数据处理:(1)计算单个教学任务总课时。计算原则如下表:班级数目单个教学任务总课时21.5*(理论课时+实验课时)32*(理论课时+实验课时)=42.5*(理论课时+实验课时)(2)计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。(3)教师数据查询:提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。C、教师综合信息输出提示:输出教师信息到屏幕。(总分之后的列要用程序语句计算)2、简易学生成绩管理程序程序概要设计:(1)系统模块层次结构图:(2)主模块算法流程:“开始”→“输出菜单及提示信息”→“输入选择”→“输入学生成绩”→“分课程等级”→“添加某学生信息”→“查找某学生信息”→“修改某学生信息”→“按指定顺序排序链表”→“回收链表的内存”→“交换两个结点的内容”→“退出系统”。(3)全局变量或数据结构说明:#includeiostream#includefstream#includestringstructItem//保存学生信息的结构体,附加链表链接指针structTemp//保存学生信息的结构体,用于记录到文件voidnumberOfRank(Item*p)//计算课程等级情况的函数Item*Create()//创建链表voidaddAItem(Item*head)//添加一个学生信息,加到链表的末尾voidsearchTheItem(Item*head,chars[10])//查找学生信息,参数指定的是学号或者姓名voidsearchTheItem(Item*head,intnumberOfA,intnumberOfB,intnumberOfC,intnumberOfD)//重载,按课程等级查找voidfreshTheItem(Item*head,chars[10])//修改学生信息Item*deleteTheItem(Item*h,chars[10])//删除某学生的信息voidmemoryTheInformation(Item*head)//存储链表到文件,下次可以使用voidcreateFromHighToLow(Item*head)//按总成绩从高到低排序链表voidcreateFromHighToLow(Item*head,intx)//重载,按每一单科从高到低排序链表voidDel(Item*head)//回收链表的内存voidchange(Item*a,Item*b)//交换两个结点的内容(4)程序开发和运行的环境:VisualC++6.03、简易学生成绩管理程序详细设计及系统功能实现:(1)详细设计:#includeiostream#includestdio.h#includestring#includeiomanipusingnamespacestd;structnode//定义课程情况的存储结构{stringTitle;//课程名称(字符串型)intClass_number,Class[40];//班级数目以及班级(整型)doubleTheory,Experiment,Single_summary;//理论课时实验课时以及该门课的教学任务总课时(浮点型)};structdata//定义教师信息存储结构{stringID,Name,Sex,Position;//教师号教师名称性别职称(字符串型)nodeCourse[10];//教师所教课程具体信息(可以是多门课程)intCourse_number;//教师所教课程数目(整型)doubleSummary;//教师一个学期总的教学工作量(浮点型)}Teacher[2000];//用数组存储教师信息voidInput()//输入教师信息{inti,j,m,n,k;doublemm;k=0;while(Teacher[k].ID!=)k++;//在存储数组中找出一个空的存储空间来存储输入信息cout请输入教师ID:;cinTeacher[k].ID;//输入教师号coutendl请输入教师姓名:;cinTeacher[k].Name;//输入教师姓名coutendl请输入教师性别:;cinTeacher[k].Sex;//输入教师性别coutendl请输入教师职称:;cinTeacher[k].Position;//输入教师职称coutendl请输入共任教几门课程:;cinTeacher[k].Course_number;//输入教师任教课程数Teacher[k].Summary=0;for(i=1;i=Teacher[k].Course_number;i++)//循环结构实现任教多门课程的信息录入{coutendl请输入第i门课程名称:;cinTeacher[k].Course[i].Title;coutendl请输入该门课程共教几个班:;cinTeacher[k].Course[i].Class_number;coutendl请输入该门课程所教班级:;for(j=1;j=Teacher[k].Course[i].Class_number;j++)cinTeacher[k].Course[i].Class[j];coutendl请输入该门课程的理论课时:;cinTeacher[k].Course[i].Theory;coutendl请输入该门课程的实验课时:;cinTeacher[k].Course[i].Experiment;switch(Teacher[k].Course[i].Class_number)//----------------------------------------------------------------------------{case1:mm=1*(Teacher[k].Course[i].Theory+Teacher[k].Course[i].Experiment);break;case2:mm=1.5*(Teacher[k].Course[i].Theory+Teacher[k].Course[i].Experiment);break;case3:mm=2*(Teacher[k].Course[i].Theory+Teacher[k].Course[i].Experiment);break;//计算该门课程的教学任务总课时}if(Teacher[k].Course[i].Class_number3)mm=2.5*(Teacher[k].Course[i].Theory+Teacher[k].Course[i].Experiment);Teacher[k].Course[i].Single_summary=mm;//-----------------------------------------------------------------------------Teacher[k].Summary+=Teacher[k].Course[i].Single_summary;//累计教师一学期总的教学工作量}}voidOutput(intx)//输出教师信息{inti,j;cout教师号:Teacher[x].IDendl;cout教师姓名:Teacher[x].Nameendl;cout教师性别:Teacher[x].Sexendl;cout教师职称:Teacher[x].Positionendl;for(i=1;i=Teacher[x].Course_number;i++){coutsetprecision(2);cout所教的第i门课程为:Teacher[x].Course[i].Titleendl;cout共有理论课时为Teacher[x].Course[i].Theory小时endl共有实验课时为Teacher[x].Course[i].Experiment小时endl;cout分别给以下班级上课:;for(j=1;j=Teacher[x].Course[i].Class_number;j++)coutTeacher[x].Course[i].Class[j];coutendl该门课教学任务总课时为:Teacher[x].Course[i].Single_summary小时;coutendl;}cout一学期总的教学工作量为:Teacher[x].Summary小时endl;}voidOutput_all(){inti;for(i=0;i=1999;i++)//循环查找记录数组,找出非空区间输出教师信息if(Teacher[i].ID!=){Output(i);coutendl;}}intFind()//查看教师信息!!!{inti,j,m,n,k;stringst;cout请输入所要寻找的教师姓名(或ID):;cinst;for(i=0;i=1999;i++)//利用循环结构根据教师姓名(或者教师号)查找教师信息{if(st==Teacher[i].ID||st==Teacher[i].Name){Output(i);return0;}}coutendl对不起,没有您要查找的教师或者您的输入信息有误,请核对您的输入!endl;}voidDelete()//删除教师信息!{inti;stringst;cout请输入您要删除的教师姓名或教师号:;cinst;for(i=0;i=1999;i++)//利用循环结构根据教师姓名(或者教师号)查找教师信息{if(Teacher[i].Name==st||Teacher[i].ID==st)break;}if(Teacher[i].Name==st||Teacher[i].ID==st)//如果找到目标信息,执行删除命令{Teacher[i].ID=;Teacher[i].Name=;}elsecoutendl对不起,未找到您要删除的教师信息,请核对您的输入!endl;}voidChange_name(intx)//更改教师姓名{stringst;cout请输入新姓名:;cinst;Teacher[x].Name=st;coutendl修改成功!!!endl;}voidChange_ID(intx)//更改教师号{strin
本文标题:教师工作量管理系统设计开发
链接地址:https://www.777doc.com/doc-5528627 .html