VC课程设计报告--教学事务管理系统_第1页
VC课程设计报告--教学事务管理系统_第2页
VC课程设计报告--教学事务管理系统_第3页
VC课程设计报告--教学事务管理系统_第4页
VC课程设计报告--教学事务管理系统_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 课课 程程 设设 计计 实实 验验 报报 告告 学号 姓名 院系专业 能源与环境工程 热能与动力工程 一 一 课题名称课题名称 教学事务管理系统 二 二 问题陈述问题陈述 使用面向对象设计的系统分析和设计 设计出适当的数据结构 编写一个信息 管理程序 程序的功能是管理学生基本信息 要求具有添加 删除 查询 排序的 功能 并具有一定的查询功能 三 三 设计目标和设计任务设计目标和设计任务 新学期开学时新学生需要注册 登记注册信息 注册信息包括每个已注册学生 的班级代号 学号 姓名 注册的学期等 每个学期开始 学生可以选课 登记选课信息 选课信息包括已注册的每个学生 所选的课程 选课仅限该生注册的学期 每个学期考试完毕 需要成绩登记 每个学生所选课程的考核成绩 以及此成绩 的类型 所输入学生的信息如果有误 可以修改 对于退学 转学的学生 删除有关资料 对转入的学生 可以增加其各项信息 学生信息包括 学号 班级 院系 姓名 性别 联系电话 家庭住址等 课程信息包括 课程代号 课程名 开课学期 学分 课时 成绩信息包括 姓名 学号 班级 课程代号 成绩 类别 初修 补考 重修 可提供的查询功能 根据某些信息 班级 性别 专业 查询学生名单 某门课程的选修者名单 含学号 成绩 成绩类型 某个学生某个课程某学期的成绩单 某个班级某个课程各个学生的成绩单 某个课程选修者中不及格学生的名单 某个课程的各项信息 课程代号 学分 课时 开课学期 四 四 解题算法思想解题算法思想 程序包括 11 个对话框 主对话框上四个按钮 分别调用 注册信息 选课信 息 成绩录入 及 信息管理和查询 四个子对话框 其中 在 注册信息 对话框内可以选择学生的注册学期 点击 确定 按钮 后 弹出 学生信息 对话框 此对话框与后面将会提到的 信息管理与查询 对 话框的子对话框之一 学生信息 相同 二者可相互共享 在该对话框中点击 增 加 按钮 将调用 成员对话框 用以实现学生的注册 信息填写完整后点击 确 定 并可依次返回至主对话框 接着 点击 选课信息登记 弹出选课信息对话框 在相应输入框或下拉菜单 中输入信息后 点击所要选的课程 可多选 然后点 确定 程序可以自行判断 信息输入是否合理 选课学生是否已经注册或是否已选择同样的课程 如果有误 则通过消息框提示 并可以再次输入信息 如果信息合理 则提示选课成功 点击 返回 回到主对话框 可通过 学生成绩录入 按钮调用 成绩录入 对话框 在此对话框中 可在输入框或下拉菜单中填写相关信息 程序同样可以自 行判断信息输入的合理性 输入的学生是否已注册或是否已选择相应课程 如果输 入有误 则弹出消息框提示 可以再次输入信息 如果信息合理 则成绩录入成功 新的成绩信息会在下方的 List Control 控件中显示 也可以直接点击下方 List 中 的原有信息 程序会自动将该信息中的学生学号及相应课程代码填写入上方控件 方便成绩的录入 所有成绩录入完成后 点击 完成并保存 按钮 保存已录入的 信息 同时自动返回至主对话框 如需要查询相应信息 可点击 信息管理与查询入口 调用 信息管理与查询 对话框 在这个对话框中 包含三个主要功能按钮 学生信息 课程信息 和 成绩信息 分别用以提供相应的查询功能 点击 学生信息 进入 学生信息 对话框 在这里可以实现学生信息的查询 及管理功能 在上方控件中填写或选择相应信息后 便可以在下方的 List Control 控件中查看到所要的学生信息 同时选中相应条目后 可以通过右方的 删除 增加 和 修改 按钮 实现数据的管理 而通过下方 载入 和 保存 按钮 可以载入及保存现有数据 当然也可以载入进之前保存的文件 从而实现相同学生 不同学期的信息查询 返回至 信息管理与查询 对话框后 点击 课程信息 按钮 在弹出的 课 程信息 对话框中 可以查看所有的课程的基本信息 并可以通过 增加课程 按 钮 调用 增加课程 对话框 填写新课程信息 从而增加新的课程 在 课程信 息 中的控件中选择某门课程后 也可以通过 查看课程 按钮调用 查看课程 对话框 查看到选修该课程的学生名单 包括学号 成绩等信息 勾选上方控件后 可以查看不及格学生的名单 依次返回至 信息管理与查询对话框 点击 成绩信息 后 进入 成绩信息 对话框 在这个对话框中可以在下方的 List Control 看到所有学生的成绩单 通过 上方的 Edit 控件输入各个相应的筛选条件 便可以在下方看到所有符合条件的学生 的成绩单 依次返回至主对话框 点击 退出程序 五 五 数据结构描述数据结构描述 程序数据通过两个节点类 两个链表类来存储 分别如下 class Course public CString m CourseNum 存储课程代码 CString m CourseName 存储课程名 CString m CourseTerm 存放课程开课学期 CString m CoursePoint 存放课程学分 CString m CourseTime 存放课程课时数 int m CourseScore 存放学生课程成绩 CString m CourseType 存放学生成绩类型 Course next Course 默认构造函数 m CourseNum m CourseName m CourseTerm m CoursePoint m CourseTime m CourseScore 0 m CourseType next NULL Course CString CourseNum CString CourseName CString CourseTerm CString CoursePoint CString CourseTime class CourseList public Course head CourseList void DeleteNode Course p 用来删除存放指定课程的链表 void SaveToFile const char name 将课程信息保存至文件 void LoadFromFile const char name 从文件中导入课程信息 void ReleaseList 释放链表 void AddNode CString CourseNum CString CourseName CString CourseTerm CString CoursePoint CString CourseTime 向链表中添加节点 Course FindNode CString CourseNum 根据课程代码查找节点 class CStudent public CString m StudentNo 存放学号 CString m Class 存放班级 CString m Name 存放学生姓名 CString m Sex 存放学生性别 CString m Dept 存放专业 CString m PhoneNo 存放学生电话号码 CString m Address 存放学生家庭住址 CString m Term 存放学生注册学期 CStudent next Course m Course 20 用来存放学生选的各项课程 int s 存放学生所选课程的数量 CStudent CStudent CString CourseNum CString StudentNum int Score CString ScoreType CStudent CString StudentNo CString Class CString Name CString Sex CString Dept CString PhoneNo CString Address class CStudentList public CStudent head 头指针 int n 节点数量 CStudentList void DeleteNode CStudent p 从链表中删除指定节点 void SaveToFile const char name 将链表内容存入文件 void LoadFromFile const char name 从文件载入链表内容 void ReleaseList 释放链表 void AddNode CString StudentNo CString Class CString Name CString Sex CString Dept CString PhoneNo CString Address 向学生链表中添加节点 void AddScoreNode CString CourseNum CString StudentNum int Score CString ScoreType 向链表中加入成绩信息 void AddCourseNode CString StudentNo CString CourseName CString CourseNum CString CourseTerm CString CoursePoint CString CourseTime 向链表中加入对应课程信息 CStudent FindNode CString StuNo 根据学号查找节点 另外 定义了全局变量 CStudentList m List 用来保存学生的各项数据 CString Term 用来存放学生的注册学期 用来将注册的学期信息加入链表 开 始时 AddNode 函数中忘记加入 m Term 变量了 CString Num 为了在查看课程信息时 对话框里的内容能够方便的传入子对话框 中 六 六 测试数据测试数据 以下为程序初步运行后保存至文件中的内容 2009 2010 03009527 030091 许亚军 男 能源与环境学院M9 首修 高等数学 2009 2010 48 课时首修 大学物 理2009 2010 48 课时首修 2009 2010 48 课时首修 大学物 理2009 2010 48 课时2009 2010 03009533 030091 周帆 男 能源与环境学院110 M9 首修 大学物理2009 2010 48 课时 99 首修2009 2010 48 课时2009 2010 03009520 030091 雒志 强 男 能源与环境学院 10086 M9 首修 2009 2010 48 课时 2009 2010 03009528 030091 杨宗冰 男 能源与环境学院119 M9 首修 2009 2010 48 课时 2009 2010 03000000 010091 XX 女 建筑 学院 55 补考 高等数学 2009 2010 48 课时重修 大学物 理2009 2010 48 课时首修 2009 2010 48 课时 七 七 运行情况分析运行情况分析 输入数据测试后 生成包含以上内容的文件 整个过程顺利 程序可以正确运 行 未出现重大错误 各项功能也都可以实现 可将生成的文件另外保存 从而录 入新的数据 如其他学期的学生信息 而在查询时 可以根据需要查询的不同学期 的信息来载入不同的文件 八 八 设计小结设计小结 在程序设计过程中遇到了不少问题 很多都是因为之前的想法没有完全照顾到 全局 使得后来要大幅度的修改代码 或者用较为复杂的代码来弥补 所以 较大 的程序设计 最重要的就是一定要有大局观 在设计初期就要将自己的目标 思路 理清 最好做下记录 而且做每一步的同时也必须想到后面的很多步 否则到后来 很可能会因为之前的缺陷而做不下去 或者不得不放弃某些功能 另外 对于程序 编写本身 我发现需要注意的部分是文件的保存及载入 这部分的每一个代码都需 要仔细斟酌 否则很可能出现在编译时没问题 而运行时出错的状况 而一旦出现 这种情况 就必须通过恰当的方法寻找出问题所在 如注释某些最近写的代码 利 用消息框弹出某些变量的值 从而判断其与设想是否相符等方法 而不能盲目的查 看所有代码 慢慢找或者索性手足无措了 九 九 心得体会心得体会 这是我第一次尝试做比较大的程序 所以从中学到的还是很多的 首先 我发 现我对程序设计还是很感兴趣的 很喜欢去钻研 其次 在设计及编程的过程中 通过发现问题 解决问题 我自己总结出来了不少方法 也发现了编写时所必须注 意和避免的错误 可以让以后少走弯路 这些都是对于程序设计本身 此中的心得 当然有很多 我也无法一一列举出来 而最重要的是我从其中学到了一些程序设计 之外的东西 我深切的体会到了全局思想的重要性 无论干什么 基本上都得有这 种思想 每走一步都必须想到以后的路 必须想到这一步是为什么而走的 为什么 目标而服务的 只有这样 才能慢慢的稳健的走向自己的目标 不会在某一点上突 然发现自

温馨提示

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

评论

0/150

提交评论