下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学成都学院计算机系实践类核心课程设计报告课程 名称:程序设计实践2设计题目:学生信息管理系统指导教师组:周肛组长学号姓名:03何金城组员学号姓名:05唐震计算机系制2016年6月项目需求分析 随着学生管理的复杂度提高, 单纯的文本管理已经无法满足学校教务的要求, 学 生管理系统开始大量的涌入高校, 同时随着学生管理系统涌入我们的高校, 如何更便利的对学生信息进行系统和有序的操作,成为了我们需要考虑的问题。设计内容本项目运用C语言程序设计一个学生信息管理系统。系统的功能主要有:学生信息添加,学生信息修改,学生信息删除,学生信息查询,学生信息浏览,系统密码管理, 系统时间查询, 以及在相
2、应的硬盘上面进行存盘以防止部分数据的丢失。本系统的功能模块图如图 1 所示。私布捌Imt丽量E眦函图i.学生信息管理系统功能模块图设计要求 需要有系统的功能:学生信息添加,学生信息修改,学生信息删除,学生信息查 询,学生信息浏览等功能;并可以在文件中存储学生信息,使得第二次打开依旧会保存上次的操作 程序的功能分析Main() 主函数 : 调用动画函数,调用菜单函数,调用文件信息读入函数。Cartoon() 动画函数:打印进入动画,调用密码函数。Keyword() 密码函数:限制进入系统的人的权限。Menu() 菜单函数:打印系统功能,并选择执行功能,有打印提示使用者。Read() 文件读入函数
3、:从数据文件读入数据,进入链表,并返回头节点。Save() 文件写入函数:将单链表中数据,写入文件中。Push() 压栈函数:将数据压栈。Pop() 出栈函数:将数据出栈并打印。Totle() 计算总分函数:自动计算当前链表所有节点的总分。Average() 计算平均分函数:自动计算当前链表所有结点的平均分。AddNODE() 添加信息函数:在单链表最末端添加信息。Delet() 信息删除函数:找到需要删除的学生的结点,并删除该结点。InquiryNODE 信息查询函数: 找到所查询的信息所在结点, 并打印该结点的所有数据。modifyNODE() 修改信息函数:找到需要修改的信息的结点,让使
4、用者输入修改后的数据,输入当前链表的结点中。Browse() 浏览信息函数:对除头结点以外的所有结点进行访问,并打印数据。SortTNODE() 排序函数:依次将单链表中,各科成绩输入函数Tree() 中,建立二叉排序树。Tree() 二叉排序树建立函数: 依次接受一个值, 进行插入排序建立二叉排序树,并调用 Inview() 函数。Inview() 二叉排序树的中序遍历函数: 对二叉排序树进行中序遍历, 调用 push()及 pop() 函数,进行降序排序。Exit() 退出函数:调用文件写入函数,并退出程序。Time() 时间函数:调用 Windows API, 实现获取系统时间,并保存。
5、程序功能结构AddNODE()开始 :接收头指针*head查找链表最 后的位置Delet()InquiryNODE()ModifyNODE() 开始接收头指针输入学生学号查找该学号 所在结点输也该 结点所 有信息: 结束 :Browse()Time()Sort()开始接收头指针*head用链表中的值建立二叉排序树对二叉排序 树中序遍历将中序遍历 结果压栈出栈打 印结果结束存储结构设计struct datadent ,达到动画效果,发生了堆栈溢出的情况,随后百度以及检查 代码,发现是数组的使用越界在输入数据时,发现会自动跳过,于是采用了 scanf_s(" %d"),的方式(
6、在 前方加空格),但是发现效果不如人意,随后便在scanf_s前面加fflush(stdin); 消除标准输入输出缓冲区在用scanf_s接收字符数组时,会出现失败的现象,后采用get_s解决此问 题在文件的写入时,开始会报错,错误提示为stream为空,后发现是指针的指向问题,以及指针未能及时的释放。在排序过程中,因为二叉排序树的建立中根结点的建立与, 其他子树的不同, 根结点在建立时,并没有赋值,采取在sortTNODE()函数中,先给根结点赋值, 解决问题。在把组内成员的写好的代码拿来拼接的时候,多次调试,无法拼接成功,采用函数形参相同的方式,定义一个全局变量的头指针,方解决。3 总结及
7、心得体会此次实践课编写的是一个应用程序, 相对于以前我们见的程序, 它要大得多,运行的结果也没有预想中的好, 数据的输出格式不太规范, 而且各模块也出现了一些小问题, 在共同的努力的下, 我们一次又一次的进行修改, 最后运行的结果基本上达到了预期的目的。 可是毕竟是第一次独立完成这样的大程序, 结果还不是太理想。由于时间很短, 在选题报告中设想到的好多功能都没有实现。 已有的那些功能虽已能基本上满足用户的需要, 但如果还有更多的功能程序就会更加完美。 如:再录入数据时, 没有设计数据输入出错的提示, 如果成绩输的是负值程序也继续执行,这就给运用上带来一些不便;没有设计按各科成绩排序的功能。2. 在设计过程中的感受:本次数据结构课程设计让我们对计算机语言的学习又有了更深入的了解,也让我们更深刻地领悟到了 “实践出真理” 这个道理, 在上机实践过程中学到的知识远远超过了在课堂上十几周学到的, 课程安排的这次设计让我们这些实践知识匮乏的大学生增添了许多经验,为我们将来走上工作岗位其了不小的铺垫作用。本次课程设计中我们遇到了很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园元旦庆祝活动创意方案集
- 土工膜施工协议标准范本
- 医院药品用药咨询流程标准化
- 质量管理标准操作流程指导书
- 数字转型策略研讨互动方案
- 机械加工工艺卡标准模板
- 儿童心理辅导案例分析
- 农业技术推广工作总结范本
- 快消品市场推广效果评估报告
- 从书中学会的成长写人作文4篇
- 2025ESC心肌炎与心包炎管理指南要点解读课件
- 药房实习课件
- 知道智慧树运动安全与健康满分章节测试答案满分测试答案
- 动火作业监护人授权考核试题(附答案)
- 正大杯全国大学生市场调查与分析大赛(试题340道含答案)
- 2025年天津市公务员录用考试公安专业科目试卷
- 中国艾滋病诊疗指南(2024版)
- 2025年浙江事业单位招聘考试(食品药品检验)历年参考题库含答案详解(5卷)
- 学堂在线 科学研究方法与论文写作 章节测试答案
- 交大附中自招数学试卷
- 五猖会读书汇报
评论
0/150
提交评论