学生信息管理系统项目报告书.doc

上传人:jian****018 文档编号:8582845 上传时间:2020-03-30 格式:DOC 页数:20 大小:214KB
返回 下载 相关 举报
学生信息管理系统项目报告书.doc_第1页
第1页 / 共20页
学生信息管理系统项目报告书.doc_第2页
第2页 / 共20页
学生信息管理系统项目报告书.doc_第3页
第3页 / 共20页
点击查看更多>>
资源描述
PINGDINGSHAN UNIVERSITY 软 件 学 院 项目报告书 课 程 专业实训 项目名称 学生信息管理系统 专业年级 软件工程 Java2 级 姓 名 学 号 101530241 指导教师 2011 年 06 月 14 日 目 录 第 1 章 问题描述 2 1 1 课题背景 2 1 2 需求分析 3 1 2 1 功能需求 3 1 2 2 性能需求 4 1 3 本章小结 4 第 2 章 总体设计 5 2 1 系统介绍 5 2 2 主程序执行流程图 6 第 3 章 代码设计 7 3 1 程序运行结果截图 7 3 2 程序源代码 11 3 3 本章小结 17 第 4 章 总 结 18 参考文献 19 第 1 章 问题描述 1 1 课题背景 管理系统是使用电子计算机执行管理和决策功能的服务系统 是六十年代以 后 随着系统科学 信息技术以及计算机科学的进展 适应现代化管理的需要而 形成的一门边缘学科 它是将计算机硬件 软件 人工规程 管理制度 决策模 拟以及管理人员等组合在一起的一个人 机系统 学生信息管理系统 是针对目前学生信息处理工作的实际情况 结合数据技 术 设计开发的学生信息管理系统 能够实现创建 添加 插入 排序 查找 修改学生信息等 学生信息管理系统是典型的信息管理系统 其开发主要包括前端应用程序的 开发和后台数据库的建立和维护两个方面 对前者要求应用功能完备 容易使用 界面友好等 而对后者则要求建立起数据库一致性和完整性强 数据安全性好的 数据库 学生信息管理系统是教育单位不可缺少的部分 它的内容对于学校的决策者 和管理者来说至关重要 能够为学校的管理者提供充足的学生信息和快捷的查询 手段 1 2 需求分析 1 2 1 功能需求 学生信息管 理系统 创建新链表 并按总成绩 排序 按学号或者 姓名来查询 学生信息 删除学生 删除后自 动排序 添加学生 添加后自 动排序 计算学生总 数以及男女 生人数 本系统具有很强的可靠行 可以对录入的学生信息进行效验 对数据 进行修改 删除 可以方便管理员的修改与维护 2 本系统操作方便 灵活 简单 操作人员只需录入学生的基本信息和考 试成绩的数据 3 本系统可高效 快速的查询到学生的基本信息和考试成绩 便于管理员 管理工作的开展 4 本系统主要用于学校学生信息管理 总体任务是实现学生信息关系的系 统化 规范化和自动化 其主要任务是用计算机对学生各种信息进行日常管理 如查询 修改 添加 另外还考虑到学生考试成绩 针对这些要求设计了学生信 息管理系统 本系统主要包括信息录入 信息维护 信息查询 报表打印 关闭 系统这几部分 其功能主要有 有关学生信息的录入 包括录入学生基本信息 学生考试成绩等 学生信息的维护 包括添加修改学生基本信息 考试成绩信息 学生信息的查询 包括查询学生的个人基本信息 科目考试成绩 信息的报表打印 包括学生的基本信息的报表打印 考试成绩的报表打印 1 2 2 性能需求 本项目是一个学生信息管理系统 运行环境 VC 6 0 项目运行速率正常 可 以满足用户需求 1 时间特性要求 响应时间要低于 5 秒 2 便捷性 在程序运行过程中 系统自动提示用户进行每一步操作 程序功 能明了简洁 1 3 本章小结 本章介绍了学生信息管理系统的背景意义 并对本系统功能需求和性能需求 进行了分析 可以清晰看到学生信息管理系统在进行信息管理时的优越性 第 2 章 总体设计 2 1 系统介绍 1 学生信息管理系统主要涉及到查询等各的功能 需要通过磁盘读 写数据 虽然本系统仅实现了简单的功能 但也需要按照系统整体性来设 计 程序可以查询 修改 增添 删除学生信息 并将之保存在磁盘文件 中 信息数据不易丢失 2 为了提高系统的稳定性和可重用性 程序采用子函数调用的形式 完成各项功能 并用单向动态链表存储从磁盘文件读取到的信息 3 屏幕设计 屏幕作为信息的显示 通过输出格式的控制 界面更 简洁 合理 2 2 主程序执行流程图 定义链表指针 结构 体及相关变量 调用链表创建函数 调用排序函数 输出功能选 项 输入选择项 r 调 用 查 询 函 数 输入 新学 生信 息并 调用 插入 函数调用 排排 序函 数 调 用 修 改 函 数 调 用 排 序 函 数调用 写入 函数 调 用 写 入 函 数 调 用 删 除 函 数 调 用 浏 览 函 数 判断程序 是否结束 0 r 6 Y N N 程序结束 开始 第 3 章 代码设计 3 1 程序运行结果截图 主界面 创建学生链表 按学号查询 按姓名查询 删除学生 删后自动排序 添加学生 添后自动排序 计算总人数及男女生人数 程序的退出 3 2 程序源代码 学生信息管理系统 include include include define NULL 0 define LEN sizeof struct student 建立动态链表 cpp using namespace std struct student int num char name 20 char sex 5 float math float english int order struct student next int n int male 0 int famale 0 struct student creat void struct student head p1 p2 n 0 p1 p2 struct student malloc LEN cout 下面开始创建链表 endl cout 学号 姓名 性别 数学 英语 p1 num p1 name p1 sex p1 math p1 english head NULL while p1 num 0 if strcmp p1 sex 男 0 male else famale n if n 1 head p1 else p2 next p1 p2 p1 p1 struct student malloc LEN cin p1 num p1 name p1 sex p1 math p1 english p2 next NULL if head NULL cout 创建失败 请重建 endl head creat return head 输出链表的函数 void print struct student head cout 此时链表的内容为 endl cout 学号 姓名 性别 数学 英语 总分 endl struct student p p head if head NULL do cout setiosflags ios base left setw 3 num setw 6 name setw 5 sex setw 5 math setw 4 english setw 5 math p english resetiosflags ios base left next while p NULL 链表结点的删除操作 struct student del struct student head if n 0 cout 无链表可删除 endl exit 0 int num cout num while num 0 struct student p1 p2 p1 head while num p1 num p1 p1 next if num p1 num if p1 head if strcmp p1 sex 男 0 male else famale head p1 next else if strcmp p1 sex 男 0 male else famale p2 next p1 next cout num 号已被删除 endl n else cout 未找到此数据 endl cout num if n 0 cout 此时链表已为空 endl exit 0 return head 插入结点 struct student insert struct student head struct student stu stu struct student malloc LEN cout 学号 姓名 性别 数学 英语 stu num stu name stu sex stu math stu english while stu num 0 if strcmp stu sex 男 0 male else famale n struct student p0 p1 p2 p1 head p0 stu if head NULL head p0 p0 next NULL else while p0 num p1 num p1 p1 next if p0 numnum if head p1 head p0 else p2 next p0 p0 next p1 else p1 next p0 p0 next NULL stu struct student malloc LEN cin stu num stu name stu sex stu math stu english return head 根据学号查找 void SearchNum struct student head int num struct student p p head cout num while p num num if p num num cout 该生的信息为 endl cout 名次 学号 姓名 性别 数学 英语 总分 endl cout setiosflags ios base left setw 4 order setw 4 num setw 6 name setw 5 sex setw 5 math setw 4 english setw 5 math p english resetiosflags ios base left endl endl endl else cout 无该生 endl endl endl 根据姓名查找 void SearchName struct student head struct student p p head char name 20 cout name while strcmp p name name 0 if strcmp p name name 0 cout 该生的信息为 endl cout 名次 学号 姓名 性别 数学 英语 总分 endl cout setiosflags ios base left setw 4 order setw 4 num setw 6 name setw 5 sex setw 5 math setw 4 english setw 5 math p english resetiosflags ios base left endl endl endl else cout 无该生 endl endl next max p2 math p2 english while p0 next NULL while p1 NULL if p1 math p1 english max max p1 math p1 english p2 p1 p1 p1 next p2 order NO max p2 order p2 order p0 order p0 order max max p2 num p2 num p0 num p0 num max max p2 math p2 math p0 math p0 math max max p2 english p2 english p0 english p0 english max strcpy temp p2 name strcpy p2 name p0 name strcpy p0 name temp strcpy temp p2 sex strcpy p2 sex p0 sex strcpy p0 sex temp p0 p0 next p2 p0 p1 p2 next max p2 math p2 english if p0 next NULL p2 order NO return head 链表的输出 void print2 struct student head cout 此时链表的内容为 endl cout 名次 学号 姓名 性别 数学 英语 总分 endl struct student p p head int No 1 if head NULL do cout setiosflags ios base left setw 4 No setw 4 num setw 6 name setw 5 sex setw 5 math setw 4 english setw 5 math p english resetiosflags ios base left next No while p NULL cout endl endl endl 主函数 int main struct student head int a cout endl endl endl 欢迎使用学生信息管理系统 endl endl endl cout 1 创建链表并按总成绩排序 endl cout 2 根据学号来查询学生信息 endl cout 3 根据姓名来查询学生信息 endl cout 4 删除学生 删后自动排序 endl cout 5 添加学生 添后自动排序 endl cout 6 计算总人数及男女生人数 endl cout 0 结束程序 endl endl endl endl endl while a cout a if a 0 cout 已经退出程序 6 cout 无该选项 请从 0 6 中选择 endl endl endl switch a case 1 head creat head sort head print2 head break case 2 SearchNum head break case 3 SearchName head break case 4 head del head head sort head print2 head break case 5 head insert head head sort head print2 head break case 6 cout 此时总人数 n 人 其中男生 male 人 女生 famale 人 endl endl endl break return 0 3 3 本章小结 本章是效果展示 并附加了实现本效果的关键代码 通过实现效果便于用户 对本系统有个初步的了解 第 4 章 总 结 学生信息管理系统是运行于 VasualC 6 0 的一款专用于学生信息管理的系统 系统以单向动态链表存储学生信息 在程序运行过程中 各功能模块均以函数调 用的形式实现 实现了功能模模块的重复使用 节约了资源 是程序更加简洁 通过对子函数调用 将排序 文件读写功能模块镶嵌在其他功能模块之中 可以 确保在各功能模块执行之后学生成绩名次 磁盘文件信息的同步更新 在编程工程中 可以说是各种问题接踵而至 如链表指针的指向 链表排序 等一系列问题 虽然最终都在马老师的指导和同学的帮助下解决了这些问题 但 不可否认的是我在 C 语言的理解和应用上还只处于表层阶段 不能深层次的理解 C 语言的精髓进而熟练应用 通过此次学生信息管理系统的编写 不仅是我加深了 对 C 的理解 锻炼了编程能力 我的知识领域也得到了进一步扩展 专业技能进 一步提高 同时增强了分析和解决实际问题的综合能力 在此我要感谢马飞老师 感谢他对我学习的悉心教导 他为我创造了各种机 会去迎接各种各样的挑战 使我能够迅速成长起来 让我明白了学无止境 必须 以正确的态度面对各种挑战 参考文献 C 程序设计 第三版 谭浩强 著 C 语言程序设计案例教程 沈大林 主编 张晓蕾 杨旭 王锦 朱立 编著 C 语言程序设计 第 4 版 郑莉 董渊 何江舟 编著
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!