


已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武武 汉汉工工业业学学院院 学 院电气与电子工程学院 班 级英才班 1101 学 号111204525 姓 名刘兴 语言语言 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 目录 摘要 3 第一章 综合设计概述 3 1 1综合设计名称 3 1 2任务要求 3 1 3开发环境 4 1 4应用平台 4 第二章 总体设计 4 2 1系统功能需求分析 4 2 2系统总体设计框架 4 2 3系统功能模块图及各功能模块的目的与意义 6 第三章 详细设计 7 3 1N S 流程图 7 3 1 1主函数 main 7 3 1 2录入学生基本信息函数 student new 8 3 1 3修改学生档案函数 student edit 8 3 1 4注销学生基本信息函数 student del 8 3 1 5查找学生基本信息函数 search num 9 3 1 6录入成绩函数 score input 9 3 1 7修改成绩函数 score edit 9 3 1 8浏览学生成绩函数 browser 10 3 1 9学生成绩排序函数 sort it 10 第四章 调试分析过程描述 11 4 1调试过程 11 4 2调试发现的问题与解决 15 第五章 源程序代码 21 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 参考文献 30 摘要摘要 大作业为程序设计的第六题 学生信息管理系统的设计 在设计中用到 了一个主函数和 12 个自定义函数 主函数实现了菜单操作 可根据数据的输入 控制操作选项 自定义函数则完成了对数据的处理和学生管理的各种功能 如 学生信息的录入 查找 修改 成绩的录入 修改和排序 在程序设计中尽量 使用模块化 结构化设计 追求功能齐全 界面完整 简洁易读的设计理念 但是 限于内存局限与设计时间限制 本程序的学生人数设计最大为 32 人 而 且不具备读取上次已录入学生信息档案功能 但总体来说 该程序已能满足要 求的功能需求 因为本人学识有限 若有未发现的缺陷 敬请谅解 第一章第一章 综合设计概述综合设计概述 1 11 1综合设计名称综合设计名称 学生信息管理系统的设计 1 21 2任务要求任务要求 学生信息包括学号 姓名 年龄 性别 电话等 试设计一学生的信息管 理系统 使之能提供以下功能 1 系统以菜单方式工作 2 学生信息录入功能 学生信息用文件保存 输入 3 学生信息浏览功能 输出 4 查询排序功能 按学号查询 按学号排序 按成绩与总分排序 5 学生信息的删除与修改 可选项 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 1 31 3开发环境开发环境 开发工具为 Microsoft Visual C 6 0 1 41 4应用平台应用平台 Windows XP32 位 第二章第二章 总体设计总体设计 2 12 1系统功能需求分析系统功能需求分析 1 建立学生信息 每个学生的信息包括 学号 姓名 年龄 性别 电 话等 2 求出每个学生的总分和平均分 3 查找 根据学号 姓名中任一项查询该生的基本信息 4 排序 根据学号 各科分数或总分将学生的信息按照一定的顺序进行 排序 5 根据需要修改学生的基本信息 6 根据实际情况注销某生的信息 7 根据实际情况插入某生的信息 8 将学生信息输出至文本文件中 2 22 2系统总体设计框架系统总体设计框架 1 利用 switch 语句设计如图所示的主菜单 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 图图 1 学生信息管理系统主学生信息管理系统主 菜单菜单 2 选择 1 后 调用录入函数 student new 进入录入函数后利用输入学 生基本信息 3 选项 2 后 调用修改信息函数 student edit 先进入查找函数后查 找到学生信息并进行修改 4 选择 3 后 调用查找函数 student del 查找某个学生的信息 5 选择 4 后 调用删除函数 search num 根据需要删除某个学生的信 息 6 选择 5 后 调用浏览函数 score input 浏览所有学生的信息 7 选择 6 后 调用修改成绩函数 score edit 将每个学生的信息排序 并全部输出 6 选择 7 后 调用浏览函数 student browser 浏览所有学生的信息 7 选择 8 后 调用输出函数 save 将每个学生的信息全部输出 8 选择 0 后 退出学生信息管理系统 9 根据所选菜单编号编写相应代码 主选单 选项编号 1 输入学生信息 2 修改学生信息 3 注销学生信息 4 查询学生信息 5 录 入 成 绩 6 修 改 成 绩 7 浏 览 8 输 出 0 退 出 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 图图 2 排序子菜单排序子菜单 2 32 3系统功能模块图及各功能模块的目的与意义系统功能模块图及各功能模块的目的与意义 排序菜单 输入选项编号 1 按学号排序 2 按语文分数查找 3 按高数分数查找 4 按外语分数查找 5 按总分查找 6 按平均分查找 0 退 出 录入 学生 信 息 修改 学生 信息 查 找 学生 信息 录入 学生 成绩 删除 学生 信 息 浏览 学生 成绩 修改 学生 成绩 主 模 块 按学 号排 序 按语 文排 序 按数 学排 序 按外 语排 序 按总 分排 序 按平 均分 排序 找 按学 号查 询 修改 学生 信息 删除 学生 信 息 修改 学生 成绩 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 第三章第三章 详细设计详细设计 3 13 1N SN S 流程图流程图 3 1 1 主函数 main 主函数主要通过 switch 循环语句 实现菜单界面的操作控制 并且发 挥了界面友好 模块化等特点 追求语句简洁 调用简单函数 通俗易懂 但 是 由于 switch 语句的局限性 因而在菜单操作过程中使用了 goto 语句 这 与结构化程序设计理念相悖 也是主函数中的最大缺陷 主函数的 N S 流程图如下 输出 至文 件 退出 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 3 1 2 录入学生基本信息函数 student new 在编写 student new 函数时 主要设计思路就是通过判断语句进行递归 嵌套 以此达到循环连续输入的效果 减少了操作复杂性 录入学生基本信息函数 N S 流程图如下 3 1 3 修改学生档案函数 student edit 修改学生档案函数则调用了后来的查询函数 通过查询要修改的学生信息 并显示在屏幕上 再重新对学生基本信息进行录入 search num 函数 N S 流程图如下 当 N 输入错误 return confirm 修改后代码 scanf d if s0 1 student add else if s0 0 return confirm else printf n n t t 输入错误 return confirm 2 修改学生成绩 score edit 函数 在执行时学号不存在时仍然修改问 题 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 原代码 if n student search 1 printf t t 语文 d 数学 d 英语 d n students n chinese students n math students n english printf t t 请重新输入成绩 n n t t 语文 scanf d printf t t 数学 scanf s printf t t 英语 scanf d return confirm 修改后代码 if n student search 1 printf t t 请重新输入成绩 n n t t 语文 scanf d printf t t 数学 scanf s printf t t 英语 scanf d 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 return confirm if n 33 return confirm 3 浏览函数中由于学号太长而引起的打印不齐问题 原代码 sort it 1 while 1 page title t t 浏览 printf 按数字键选择排序方式或按 0 返回 n printf 学号 1 t t 姓名 t t 年龄 t 语文 2 t 数学 3 t 英语 4 t 总分 5 n for n 0 n 32 n if INDEX n 1 x INDEX n printf d t t s t t students x num students x name printf d t d t students x age students x chinese printf d t d t students x math students x english printf d n students x chinese students x math students x english 修改后代码 sort it 1 while 1 page title t t 浏览 printf 按数字键选择排序方式或按 0 返回 n printf t 学号 1 姓名 年龄 语文 2 数学 3 英语 4 总分 5 平均 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 分 6 n for n 0 n 请用数字键选择科目 n n t t 1 语文 2 数学 3 英语 n n n t t scanf d for n 0 n 输入错误 t t n n break if students n num 0 printf t t 学号 d n t t 姓名 s n t t 成绩 students n num students n name scanf d printf n switch s case 1 students n chinese t break case 2 students n math t break case 3 students n english t break 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 printf t t 若需继续录入 请按 1 退出录入请按 0 n n n t t scanf d if s1 1 score input else if s1 0 return confirm else printf n n t t 输入错误 return confirm 修改后代码 printf n t t 请用数字键选择科目 n n t t 1 语文 2 数学 3 英语 n n n t t scanf d for n 0 n 输入错误 t t n n break if students n num 0 printf t t 学号 d n t t 姓名 s n t t 成绩 students n num students n name scanf d printf n switch s case 1 students n chinese t break case 2 students n math t break case 3 students n english t break printf t t 若需继续录入 请按 1 退出录入请按 0 n n n t t scanf d if s1 1 score input else if s1 0 return confirm else 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 printf n n t t 输入错误 return confirm 第五章第五章 源程序代码源程序代码 学生成绩管理系统 刘兴 microsoft visual C 6 0 下编译通过 include include include 用于动态单元分配 如 malloc calloc rand 等 include 字符串输入输出 如出现 getch clrscr 等 define N 32 int INDEX 32 定义学生信息数组 学生数目最大为 32 定义学生信息结构体 struct STUDENT int num age chinese math english char name 21 sex 16 tele 20 students 32 结构体变量为数组 students 数目为 32 打印标题函数 void page title char menu item system cls 清屏 包含于 conio h 函数中 printf 欢迎进入学生信息管理系统 按任意键返回 n n getch 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 操作完成后的返回函数 void return con void printf n t t 按回车进行下步 n n getch 录入学生基本信息函数 void student add void int s0 int n page title t t 录入学生基本信息 for n 0 n 学号 scanf d printf t t 姓名 scanf s printf t t 年龄 scanf d printf t t 性别 scanf s printf t t 电话 scanf s break printf n n t t 如需继续请按 1 返回请按 0 n n n n t t 次步骤方便了学生 信息的连续录入 scanf d if s0 1 student add else if s0 0 return confirm else printf n n t t 输入错误 return confirm 查找学生档案函数 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 int student search void int n i printf t t 请输入学生学号 n n n t t 学号 scanf d for n 0 n 姓名 s n students n name printf t t 年龄 d n students n age printf t t 性别 s n students n sex printf t t 电话 s n students n tele if students n chinese 0 printf t t 语文 s n 尚未录入 else printf t t 语文 d n students n chinese if students n math 0 printf t t 数学 s n 尚未录入 else printf t t 数学 d n students n math if students n english 0 printf t t 英语 s n 尚未录入 else printf t t 英语 d n students n english return con return n printf n t t 输入错误或学号不存在 n return con return 33 注销学生基本信息函数 void student delete void int n page title t t 注销学生基本信息 if n student search 1 students n num 0 printf n t t 该学生已注销 n return confirm 修改学生基本信息函数 void student edit void 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 int n page title t t 查找学生基本信息 n student search if n 33 printf n t t 请重新输入新信息 n t t 学号 scanf d printf t t 姓名 scanf s printf t t 年龄 scanf d printf t t 性别 scanf s printf t t 电话 scanf s return confirm 录入成绩函数 void score input void int s1 int s n t page title t t 录入成绩 printf n t t 请用数字键选择科目 n n t t 1 语文 2 数学 3 英语 n n n t t scanf d for n 0 n 输入错误 t t n n break if students n num 0 printf t t 学号 d n t t 姓名 s n t t 成绩 students n num students n name scanf d printf n switch s 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 case 1 students n chinese t break case 2 students n math t break case 3 students n english t break printf t t 若需继续录入 请按 1 退出录入请按 0 n n n t t scanf d if s1 1 score input else if s1 0 return confirm else printf n n t t 输入错误 return confirm 修改成绩函数 void score edit void int n page title t t 修改成绩 if n student search 1 printf t t 请重新输入成绩 n n t t 语文 scanf d printf t t 数学 scanf s printf t t 英语 scanf d return confirm if n 33 return confirm 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 学生成绩排序函数 void sort it char nn int n m p x t 32 for n 0 n 32 n switch nn 不同排序方式的选择结构 case 1 t n students n num break case 2 t n students n chinese break case 3 t n students n math break case 4 t n students n english break case 5 t n students n chinese students n math students n english break case 6 t n students n chinese students n math students n english 5 break for n 0 n 32 n 对结构体的序号数进行排序 x 0 p 1 for m 0 mx x t m p m t p 1 INDEX n p 浏览学生成绩 void score browser void int n x char k sort it 1 初始时按学号降序排序 while 1 page title t t 浏览 printf 按数字键选择排序方式或按 0 返回 n 本文档系作者精心整理编辑 实用价值高 本文档系作者精心整理编辑 如有需要 可查看作者文库其他文档 printf t 学号 1 姓名 年龄 语文 2 数学 3 英语 4 总分 5 平均分 6 n 提醒排序输入的命令 for n 0 n 32 n 循环打印学生成绩 if INDEX n 1 x INDEX n printf 14d 10s students x num students x name printf 5d 7d students x age students x chinese printf 7d 7d students x math students x en
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025英大证券有限责任公司高校毕业生招聘约1人(第二批)笔试参考题库附带答案详解
- 2025浙江温州市国资委公开遴选市属国有企业外部董事专家库人选40人笔试参考题库附带答案详解
- 2025江苏无锡市宜兴市宜能实业有限公司招聘线路设计辅助人员2人笔试参考题库附带答案详解
- 2025广西文化产业集团有限公司春季招聘36人笔试参考题库附带答案详解
- 2025年合肥高新美城物业有限公司招聘30人笔试参考题库附带答案详解
- 2025年中国邮政集团有限公司甘肃省分公司春季校园招聘笔试参考题库附带答案详解
- 卸料安全培训课件
- 2025山东省国际信托股份有限公司社会招聘8人笔试参考题库附带答案详解
- 2025安徽蚌埠市城市投资控股集团有限公司所属公司社会招聘11人笔试参考题库附带答案详解
- 2025四川成都三和来科技有限公司招聘50人笔试参考题库附带答案详解
- 陪诊服务培训课件模板
- 严禁管制刀具进校园主题班会课件
- 2024年山东省春季高考技能考试汽车专业试题库-上(单选题汇总)
- 国庆、中秋双节前安全排查记录
- 八年级上学期轴对称练习题
- 双姿培训课件
- GB/Z 41082.2-2023轮椅车第2部分:按GB/Z 18029.5测得的尺寸、质量和操作空间的典型值和推荐限制值
- 实施项目经理岗位的工作职责描述
- 中频操作评分标准
- 生活中的理财原理知到章节答案智慧树2023年暨南大学
- GB/T 22588-2008闪光法测量热扩散系数或导热系数
评论
0/150
提交评论