计算机C++学生信息管理系统设计报告

上传人:ali****an 文档编号:121514552 上传时间:2020-02-23 格式:DOC 页数:19 大小:332.01KB
返回 下载 相关 举报
计算机C++学生信息管理系统设计报告_第1页
第1页 / 共19页
计算机C++学生信息管理系统设计报告_第2页
第2页 / 共19页
计算机C++学生信息管理系统设计报告_第3页
第3页 / 共19页
计算机C++学生信息管理系统设计报告_第4页
第4页 / 共19页
计算机C++学生信息管理系统设计报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《计算机C++学生信息管理系统设计报告》由会员分享,可在线阅读,更多相关《计算机C++学生信息管理系统设计报告(19页珍藏版)》请在金锄头文库上搜索。

1、目录目录 1 引言 1 2 设计依据及框图 2 2 1 设计思想 2 2 2 设计框图 用户界面 2 3 各模块功能及主要模块的流程图 11 3 1 各模块功能 11 3 2 主要流程图 14 4 软件调试分析 15 4 1 错误分析 15 4 2 系统特点及缺点 15 5 结语 16 参考文献 17 摘要摘要 这一款学生信息管理小系统采用面向对象的设计方法 主要是面对管理端 管 理者可以通过密码登录进入系统对学生的各类数据统进行管理和维护 在主界面中 主要设置了 8 个基本功能 增加学生 显示全部学生 计算平均成绩 删除一个学 生 按年级输出学生信息 按性别输出学生信息 按姓名检索学生 按总

2、分进行排 序 这些功能基本上能满足学生管理的基本要求 此程序可以初步体现课程设计的 目标 采用 Visual C 作为开发工具 界面简单友好 操作方便易行 便于维护 是 一个功能比较完善的管理系统 关键字关键字 学生系统 继承 重载 派生 1 1 引言引言 随着我国经济与计算机技术的日益发展 信息化技术逐渐取代传统人工作 业 而学生也不例外 由于学生信息管理系统应用范围之广 版本各式各样 功能不尽管理系统相同 如何做出一个比较出众的学生系统 是对程序员的一 种考验 这其中选择一种合适的程序设计语言 一个开发平台和编程思想是至 关重要的 而建成一个数字化的学生信息管理系统 进行统一的管理 管理者

3、 就会对学生情况得到及时准确的了解 并根据具体情况提供及时的查询与修改 这样 就可以使学生的管理变得更为高效 本系统是从学生信息管理系统最基 本的功能进行设计和开发 设计希望用 VC 编写一个界面美观流畅学生信息管理系统 管理者能够使用 它对学生数据进行基本的查询 增加 删除 修改等 而且程序运行结果正确 操 作方便 界面美观 逻辑层次清楚 程序结构合理 程序代码精简易懂 管理者通过密码登录进入学生信息管理系统 根据需要可以实现以下功能 增加 学生 显示全部学生 计算平均成绩 删除一个学生 按年级输出学生信息 按性 别输出学生信息 按姓名检索学生 按总分进行排序 该学生信息管理系统是采用面向对

4、象的程序设计思想 选择 C 语言进行编写 的 整个程序由一个学生基类和两个年级派生类 若干个函数及主函数构成的 使用面向对象的程序设计方法是设计一个复杂的软件系统时 首要的问题是确 定该系统是有哪些对象组成的 并且设计这些对象 本学期 专业开设了 C 面向对象课程设计 为我们提供了一个既动手又动脑 独立实践的机会 这就要求根据所学的 C 程序设计原理与程序设计的知识 能够 针对一个小型的学生信息管理系统 进行系统的任务分析 系统设计 运行调试等 完成题目要求的功能 学会运用 Visual C 6 0 设计学生信息管理系统 从而达到 了解设计一个小型应用系统的目的 提高适应实际 实践编程的能力

5、2 2 设计依据及框图 设计依据及框图 2 1 设计思想设计思想 学生信息管理系统是一个管理学生数据的服务平台 它应该包括登录界面 通 过输入密码 核对正确进而进入主菜单界面 然后通过需要选择不同的操作 最终 能够达到查询 增添 删除等功能 2 2 设计框图 用户界面设计框图 用户界面 2 2 1 通过对需求的分析和设计 我初步构造了程序的结构框图 如图 2 1 开始 登录界面 年 级 输 出 录 入 信 息 平 均 成 绩 显 示 学 生 删 除 学 生 性 别 输 出 姓 名 检 索 总 分 排 序 结 束 程 序 图 2 1 设计框图 2 2 2 根据各模块功能的逐步展开与分析 我完成了

6、程序的全部代码设计 详 见附录 在一次次的调试完善后 成功运行了这个学生管理系统 1 这个系统是作为管理端存在的 为了保证信息的隐蔽性及安全性 防止人为 破坏 所以设计一个登录界面 需要输入的密码核实正确后方能进入主菜单操作 以此来确保只有预先获得密码有管理权限的人才能使用该系统 在此还设定了登录 次数不得多于三次 否则强制退出程序 这里将管理员输入的密码通过 if else 语 句判断是否等于 code 预先定义在后台存储的 若相等则跳转至主界面 否则提 示重新输入 代码如下 3 lab1 system cls cout endl endl endl cout co if co code g

7、oto lab2 else if s 4 cout 已登录三次 请退出 endl return 0 else goto lab1 2 在输入事先设定的密码 经检查正确 就到了主菜单界面 如下图 功能选 择通过管理员输入数字 使用 switch 语句来判断接收 从而能够进入各个子菜单 图 2 1 主菜单图 lab2 system cls cout t t t 欢迎使用学生信息管理系统 endl endl cout 1 录入信息 endl cout 2 显示全部学生 endl cout 3 计算平均成绩 endl cout 4 删除一个学生 endl cout 5 按年级输出学生信息 endl c

8、out 6 按性别输出学生信息 endl cout 7 按姓名检索学生 endl cout 8 按总分排序 endl cout 9 结束程序运行 endl endl cout getin switch getin 4 注 lab2 是一个标签 能通过之后的 goto lab2 从各级子菜单快速地跳转回来 3 case1 是录入信息菜单 p i 是存储学生信息的数组对象 同样通过 switch 语句判断选择 可以不限次地分别录入一 二年级的学生信息 完成后自动保存并 返回主菜单 这里用类类型的指针变量指向已存在的最后一个记录 追加到最后一 个记录后面 然后通过指针指向对象的成员函数 set 从键

9、盘上输入信息 用 new 开辟一段空间以存放该类型的对象 而统计创建的对象个数的变量 i 则进行自加运 算 最后指针指回头结点 增加学生信息 界面如下 case 1 录入信息 lab3 system cls cout 1 录入一年级生信息 endl cout 2 录入二年级生信息 endl cout 3 返回上一级菜单 endl cout c1 switch c1 case 1 p i new Student1 p i set i goto lab3 case 2 p i new Student2 p i set i goto lab3 default goto lab2 break 5 图

10、2 2 录入信息 2 图 5 case2 为显示信息菜单 先通过 for 循环语句并利用类指针 从类数组第一 个对象开始调用 display 来显示 直到全部学生显示完毕 最后指针指回头结点 停止操作并返回主菜单 case 2 显示全部信息 system cls cout 学生信息 n 学号 姓名 性别 male female 语文 英语 数学 年 n for j 0 jdisplay cout c2 switch c2 case 1 case 2 case 3 default goto lab2 图 2 3 信息显示图 6 case3 计算平均成绩 输入需查询学生的学号 在 for 循环中用

11、 if 语句及指 针来搜寻与之匹配的信息 如果存在则通过函数 getsum 取总成绩 再计算出平均 成绩并用指针 p j display 输出 否则给出错误提示信息并返回主菜单返回主 菜单后 case 3 计算平均成绩 lab4 system cls cout endl endl cout t t t 计算平均成绩 endl endl cout xh for j 0 jgetnum xh double sum ave sum p j getsum 6 ave sum 3 cout 学号 姓名 语文 英语 数学 平均成绩 endl cout getnum getname getch geten

12、getma ave endl else cout 此学生不存在 请重新输入 endl goto lab4 注 这里的 lab4 为了便于返回重新查询设的标签 与 goto lab4 结合起来用 图 2 4 查询成绩图 7 case4 为删除学生 可以按照姓名或者学号删除 当管理员输入相应选择后 程序对应先通过查找记录 再对对应对象信息做删除 同样采用 for 循环跟 if 语句 每删除一个学生变量 i 就进行自减运算 是对象个数及时得到改正 最后指针指向 头结点 按照学号删除的代码如下 int xuehao cout xuehao for j 0 jgetnum xuehao for int

13、del j del i del p del p del 1 i cout n 成功删除 n cout c3 switch c3 7 case 1 case 2 case 3 default goto lab2 图 2 5 删除信息 1 图 8 case5 是按年级输出学生 管理员选择所需年级后 用指针变量 p j 定位在 年级号 id 所匹配的第一个对象处 接着执行 display 函数显示信息 j 后继续查 找 用 j i 保证指针不超出范围 i 作为变量统计学生录入个数 case 5 按年级输出学生信息 system cls cout t t t 按年级输出学生信息 endl endl c

14、out 1 按一年级生输出学生信息 endl cout 2 按二年级生输出学生信息 endl endl cout c5 switch c5 case 1 cout 学号 姓名 性别 语文 英语 数学 年龄 endl for j 0 jgetid 1 p j display cout c5 switch c5 case 1 case 2 case 3 default goto lab2 case 2 cout 学号 姓名 性别 语文 英语 数学 年龄 endl for j 0 jgetid 2 p j display cout c5 switch c5 case 1 case 2 case 3

15、default goto lab2 default cout n 输入错误 n break cout c5 switch c5 case 1 case 2 case 3 default goto lab2 图 2 6 1 年级输出图 9 case6 按性别输出 也同样指针 p j 指向对象的函数 getsex 取性别来与 female 或 male 比较 相等则调用 display 函数输出学生信息 界面如下 图 2 7 性别输出图 9 10 case7 按姓名检索信息 管理员输入查询姓名后 系统利用类指针 从头开 始 p i getname xingm 存放输入姓名的变量 查找配对的对象 如

16、果 if 语句 返回真值则执行 display 函数 接着 switch 接收任何数字返回主菜单 最后指针指 向头结点 case 7 system cls cout xingm for j 0 jgetname xingm p j display cout c7 switch c7 case 1 case 2 case 3 default goto lab2 11 case8 按总分升序排序 使用 for 循环用指针变量 p ci 指向对象的成员函 数 getsum 取总分 将第一个对象依次和其他对象的比较 若前者总分大于后者 则通过两个中间变量 htp 和 ztp 把二者的学号与总分对换 以此类推直到排序完成 接着用 hao j zong j 输出信息 case 8 按总分排序 int ci for ci 0 cigetnum zong ci p ci getsum for n 0 n i n for m n 1 mzong m htp hao m hao m hao n hao n htp ztp zong m zong m zong n zong n ztp system cls

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号