基于C++的教师排课程序毕业设计(论文).doc

基于C++的教师排课程序毕业设计(论文).doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序类课程设计》 说明书 指导教师: 姓 名: 学 号: 年 月 日 一.需求分析 1.本应用程序是基于C++的教师排课程序.该程序可以根据教师对课程的期望,课程优先级对相应课程,教师进行合理分配,既可以使每位教师达到最大满意度,又能很好的安排课程,使课程不出现重排,漏排等情况. 2.根据要求,本程序应该实现课程信息载入,教师信息载入,保存相关信息到文件,排课,打印排课结果等.同时,我们还要为使用者即客户提供一个人性化的界面,使系统应用方便快捷.更重要的是,我们还要提供相应的错误处理机制. 二.系统功能实现 根据需求分析,本程序实现以下功能: 主菜单 主菜单主要是为客户显示本程序的主要功能及相关操作提示,人性化的主菜单可以让客户很容易的使用程序相关功能.本程序主菜单设计简洁,界面简单,使用者可以根据相关提示进行操作,方便快捷. 信息载入 信息载入模块主要实现教师信息载入和课程信息载入.教师信息主要包括教师姓名,教师号,工作量及对相应课程的期望值.课程信息主要包括课程名,课程号,周学时,总学时,优先级.此模块是使用者(客户)把相关信息载入数据库进行排课操作的前提,它提供了良好的交互界面,操作简单方便. 信息保存 信息保存模块主要实现教师信息和课程信息的保存功能.由于教师信息和课程信息载入量大,为以后查询方便最好存储在文件中,同时也算对数据的备份.此模块提供路径选择功能,客户可以根据自己的情况选择相应的路径存储信息文件,安全高效. 教师排课 教师排课模块主要实现根据课程优先级,教师对课程的期望值大小来安排课程情况的功能.此模块考虑到不同课程优先级可能相同及不同教师对某门课程期望值可能相同的情况.为让教师达到最大满意度,本模块采用随机分配原则,通过生成伪随机数来安排期望值相同的课程,从而达到公平公正原则.同时,本模块实现每门课都得到安排,不出现漏课,重复选取的功能.达到教师工作量得到满足且不会操工作量,合理有效. 排课结果打印 此模块主要实现排课完成后相关信息的显示功能.主要显示教师姓名,工作量,教授课程.打印界面简单明了,易于查看. 系统保护 系统保护模块主要实现非法操作时对程序的损坏或恶意破坏.此模块主要应用于当操作人员(客户)没有事先载入教师信息和课程信息就进行保存,排课操作行为时的保护.安全可靠. 退出 此模块主要实现操作完毕后的退出功能.退出时,此模块会显示一个感谢界面,并完成后台资源释放等功能,很人性化. 三.流程图           程序流程图 四.数据结构设计 1.结点设计 本程序主要采用结构体存储相关结点信息,教师信息通过tlist结构体实现,其中包括教师姓名,教师号,工作量,相应课程期望值及预留缓存区空间.课程信息通过clist结构体实现,其中包括课程名,课程号,周学时,总学时,优先级,被选标记(是否已经分配)等信息.tclist结构体存储教师期望值比较高的课程信息,包括课程名及教师对其期望值. 2.结构设计 本程序采用结构体存储结点信息,通过链表完成相关操作,如查询,删除等.链表添加删除结点灵活高效,符合本程序要求. 3.子类设计 本程序设计一个教师类和一个课程类,教师类在其内部主要实现初始化教师链表(教师信息),保存教师信息到文件功能.课程类主要实现初始化课程链表(课程信息),保存课程信息到文件功能.同时,在教师类中增加一个print友元函数,实现排课结果打印功能.在课程类中增加一个convert友元函数,实现由给定字符串查找相应课程结点并返回指向该结点指针的功能. 五.类设计 1.教师类:数据成员 tlist* pt 功能说明 pt为指向教师结点的指针,维持着整个教师链表.通过它可以动态添加删除教师信息.      成员函数 void initdata(); void save();  friend void print(teacher,ptlist); 功能说明 initdata()初始化教师链表(教师信息),      save()保存教师信息到文件.      print(teacher,ptlist)排课结果打印. 2.课程类:数据成员 clist* pc      功能说明 pc为指向课程结点的指针,维持着整个课程链表,通过它可以动态添加删除课程信息.      成员函数 void initdata(); void save();      friend pclist convert(course,char * s); 功能说明 initdata()初始化课程链表(课程信息).           save()保存课程信息到文件

文档评论(0)

2749166188 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档