- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《程序类课程设计》
说明书
指导教师:
姓 名:
学 号:
年 月 日
一.需求分析
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()保存课程信息到文件
您可能关注的文档
- 基于J2ME的Java游戏--扑克豪斯的开发毕业论文论文.doc
- 基于PLC的全自动洗衣机控制系统毕业设计论文 论文.doc
- 基于PLC的组合机床控制系统设计毕业论文.doc
- 基于VC++的视频采集系统的开发.doc
- 基于单片机的电话遥控器的毕业设计基于单片机的智能温度测试控制仪的毕业设计.doc
- 基于单片机的多路数据采集系统.doc
- 基于单片机实现的多点温度检测系统毕业设计.doc
- 基于单片机实现的简易秒表毕业论文word格式.doc
- 基于单片机实现的数字温度计报警系统论文.doc
- 基于平衡计分卡的企业绩效评估体系研究论文.doc
- 实验室危废随意倾倒查处规范.ppt
- 实验室危废废液处理设施规范.ppt
- 实验室危废处置应急管理规范.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第20课时 中国的地理差异.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第21课时 北方地区.ppt
- 危险废物处置人员防护培训办法.ppt
- 危险废物处置隐患排查技术指南.ppt
- 2026部编版小学数学二年级下册期末综合学业能力测试试卷(3套含答案解析).docx
- 危险废物处置违法案例分析汇编.ppt
- 2026部编版小学数学一年级下册期末综合学业能力测试试卷3套精选(含答案解析).docx
最近下载
- 李群-李代数讲义.pdf VIP
- 【45吨天餐厨废弃物资源化利用和无害化处理扩建】项目建设项目环境影响报告表.doc VIP
- 北京市东城区2024-2025学年九年级上学期期末考试 数学试题(含解析).docx VIP
- PSX 610G 使用说明书.pdf VIP
- 2020_2021学年九年级化学下册第七单元常见的酸和碱第四节酸碱中和反应随堂练习新版鲁教版20210610129.docx VIP
- 超实用新高考复习:高考英语新课标新增词汇 (共100个) 清单.docx VIP
- 伯恩斯坦-大幅上调阳光电源目标价至260.pdf VIP
- 新疆若羌县东南部遥感地质特征及成矿条件分析.pdf VIP
- 沪教版道法题库及答案.doc VIP
- (新版)C+Python基础知识考试题库(核心500题).docx VIP
原创力文档


文档评论(0)