已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实践教学实践教学 XXX 大学大学 计算机与通信学院计算机与通信学院 20152015 年秋季学期年秋季学期 C 程序设计程序设计 课程设计课程设计 题题 目 目 学生成绩管理系统学生成绩管理系统 专业班级 姓 名 学号 指导教师 学生成绩管理系统 摘要 摘要 本次课程设计采用面向对象 语言 开发了一个基本的学生成绩管理 系统 该系统具备了按班级完成对学生成绩信息的录入和修改 并用文件保存 实现按班级输出学生的成绩单 实现按学号和姓名进行查询 按平均成绩进行 排序功能 对学生的管理也可以更加方便快捷 采用的的方法和过程 采用的的方法和过程 1 将学生的信息存入文件中 并命名为 score txt 2 编译一个 C 语言函数 其中包含三个类 Person 类 人员的基本属性 student 类 继承 Person Manage 类 实现对成绩信息的操作 输入学号时必须是 6 位以上字符串 不允许重复 意义 意义 使学生对成绩管理有所了解 并且培养学生的分析能力和动手能力 增强学生 对课本理论知识的巩固 关键词 关键词 面向对象 C 课程设计 学生成绩管理系统 目 录 2 2 需求分析需求分析 4 2 12 1 产品需求概述产品需求概述 4 2 1 12 1 1 功能简介功能简介 4 2 1 22 1 2 运行环境运行环境 5 2 1 32 1 3 限制条件 可选 限制条件 可选 5 2 22 2 功能需求功能需求 5 2 2 12 2 1 功能功能 1 1 6 2 2 22 2 2 功能功能 2 2 6 2 2 32 2 3 功能功能 3 3 6 2 2 42 2 4 功能功能 4 4 6 管理员可以按照班级输出学生成绩单管理员可以按照班级输出学生成绩单 6 2 2 52 2 5 功能功能 5 5 6 2 2 62 2 6 功能功能 6 6 6 退出系统退出系统 6 2 32 3 数据描述数据描述 6 3 3 概要概要 7 3 3 详细设计详细设计 7 3 13 1 系统主要函数说明系统主要函数说明 7 3 1 13 1 1 函数函数 7 源程序 源程序 16 学生成绩管理系统学生成绩管理系统 1 以学校学生成绩管理业务为背景 通过调研 分析现有的管理模式和已有 的管理软件 建立系统模型 2 完成软件结构设计和算法设计 3 完成系统的软件开发和测试工作 4 撰写设计说明书 5 做好答辩工作 2 2 需需求分析求分析 2 12 1 产品需求产品需求概述概述 2 1 12 1 1 功能简功能简介介 1 学生成绩管理在日常生活中运用十分广泛 因此需要用许多程序来对它们进 行管理 此程序包含了学生成绩的录入 学生成绩的查询和排序 学生成绩添 加及修改等 2 总体程序框图 2 1 22 1 2 运行环境运行环境 1 硬件环境 主机 显示器 优盘 外部设备等 2 软件环境 操作系统 网络软件 数据库系统以及其它特殊软件要求 2 1 32 1 3 限制条件 可选 限制条件 可选 1 必须使用或者避免的特定技术 工具 编程语言和数据库 2 目前所掌握的只是较少 对于有些函数不能很好的编译 使系统不能完成 一些高端的任务 3 系统对外部因素存在依赖 需要有其他组件的参与才能够完成任务 2 22 2 功能需求功能需求 按班级完成对学生成绩信息的录入和修改 并用文件保存 实现按班级输出学 生的成绩单 实现按学号和姓名进行查询 按平均成绩进行排序功能 按学 号查 询 学生成绩管理系统 按平 均分 显示 退出 系统 按班 录入 学生 成绩 按班 输出 学生 成绩 修 改 成 绩 查询 个人 成绩 按姓 名查 询 2 2 12 2 1 功能功能 1 1 按班录入所有的学生成绩信息按班录入所有的学生成绩信息 管理员可以录入学生的班级 姓名 学号 各科成绩等信息 2 2 22 2 2 功能功能 2 2 查询个人成绩 拥有二级菜单 学号 姓名 查询个人成绩 拥有二级菜单 学号 姓名 可以通过输入学号或姓名查询学生成绩 2 2 32 2 3 功能功能 3 3 修改成绩 按学号 课程 修改成绩 按学号 课程 管理员可以修改学生信息 2 2 42 2 4 功能功能 4 4 按班输出成绩单按班输出成绩单 管理员可以按照班级输出学生成绩单 2 2 52 2 5 功能功能 5 5 按平均分显示按平均分显示 可以直接按照平均分显示学生成绩 2 2 62 2 6 功能功能 6 6 退出系统 2 32 3 数据描述数据描述 按学 号查 询 修 改 成 绩 查询 个人 成绩 按班 录入 学生 成绩 按平 均分 显示 学生成绩管理系统 退出 系统 按班 输出 学生 成绩 按姓 名查 询 3 3 概要概要 本系统主要依据学生成绩管理为背景 进行软件的设计和开发 该系统主要通 过三个类 一个文件用于录入学生成绩信息 分为五大模块 以完成对学生成绩 的录入 查询 修改 显示 输出等功能 3 3 详细设计详细设计 3 13 1 系统主要函数说明系统主要函数说明 1 主函数 main 定义学生结构体数组 调用录入 统计等函数对成绩表进行处理 2 录入函数 Input 输入班级到政治课成绩 3 统计函数 Statistic 计算平均成绩 4 查询函数 Lookup 查询指定学号学生成绩记录 5 修改函数 Modify 修改指定学号学生成绩记录 6 删除函数 Delete 删除指定学号学生记录 7 输出函数 Output 输出班级所有学生成绩记录 8 排序函数 Sort 按平均分对学生成绩记录项进行降序排序 9 插入函数 Insert 按平均分顺序插入新记录 3 1 13 1 1 函数函数 功能 主函数 根据学生成绩管理系统的要求 对学生成绩等信息实现录入 查询 修改 输 出 显示等功能 4 4 系统测试系统测试 界面界面 功能一 录入学生成绩功能一 录入学生成绩 功能二功能二 显示学生成绩显示学生成绩 功能三 查找学生成绩功能三 查找学生成绩 1 按学号查找 2 按姓名查找 功能四 修改学生成绩功能四 修改学生成绩 功能五 插入学生信息功能五 插入学生信息 功能六 排列管理成绩功能六 排列管理成绩 功能七 显示班级学生成绩功能七 显示班级学生成绩 功能零 退出系统功能零 退出系统 5 5 总结总结 通过这次课程设计 使我对面向对象 C 语言有了更进一步的认识和了解 想要学好它重在于实践 要通过不断地上机操作才能更好的学习它 我也发现 我自己的好多不足之处 通过学习也有所改进 再又对面向对象 C 语言的一 些函数不太了解 所以在以后的学习过程中我会更加注重实践操作 在课程设 计的过程中 收获知识和提高能力的同时 我也懂得如何去制定和实现计划 课程设计是培养学生综合运用所学知识发展提出分析和解决实际问题 锻炼实 践能力的重要环节是对学生实际工作能力的具体训练和考察过程 随着科学技 术的的日新月异 从拿到题目到完成整个编程 从理论到实践 可以学到很多 的东西 同时不仅可以巩固以前课本中的知识 而且还学到课本以外的知识 通过课程设计使我们知道理论和实践的结合是十分重要的 只有理论知识 是远远不够的 只有把所学的理论知识和课外实践很好地结合起来 才能对自 己的的专业知识有所了解 或者说是为自己以后专业知识的学习做以铺垫 在 课程过程中发现了自己一些明显的不足 如对面向对象 C 语言基础知识掌握 的不牢靠 不能很好地运用自己以前所学内容进行编程 而且不能够在特定的 环境下做到仔细认真 很小的问题在编程过程中出现很多次 但是在老师的耐 心教导下 我们逐步进入状态 并且做了一个简单的学生成绩管理系统 通过 对整个系统的设计 编译 使我们对各个系统有所了解 在整个系统中 内容 包括很多 运用的函数也十分复杂 所以过程中容不得半点马虎 当然在操作 过程中也遇到一些大的问题 如文件的操作 需要有模块化思维能力 也就是 在编程任意功能模块和函数的时候需要全面的思考 不能够局限于完成当前任 务的简单思路上 不能够让模块脱离整个系统 总之 在课设过程中 学到了很多课外的东西 并且自己对面向对象 C 语言有了更进一步的了解 自己的动手能力和分析能力有了很大程度的提高 这两周看似过的很是悠闲但却是受益匪浅 致致 谢谢 非常感谢张玺君老师和马维俊老师的指导 在设计中我们遇到了很多编程 问题 最后在老师的指导下 我们慢慢地进入状态 顺利的完成了所有编程题 目 每天我们在机房编写程序 老师们也是寸步不离 帮助我们解决问题 由 于编程是在英文状态下进行的 很多单词不知道意思 导致不懂提示错误源头 的意思 从而无法找出错误的原因 在这方面老师给我们提供很大帮助 在程 序出现错误的时候老师耐心讲解 查找错误帮我们调试 在此 我们对各位辛 勤工作的老师致以最诚挚的感谢 附录 源程序 include include include include include class Person public char name 8 class student public Person 构建学生类 public friend void Manage student stud friend void Input student stud friend void Statistic student stud friend void Lookup student stud friend void Modify student stud friend void Output student stud friend void Insert student stud friend void Write student stud int n friend int Read student stud private int num char name 8 char class 0 20 float c program float english float math float average int order stud 100 class Manage public student void Write student stud int n 向文件中写入数据 fstream myFile myFile open score txt ios out ios binary if myFile cout score txt can t open endl abort int count n myFile count endl endl for int i 0 i count i myFile stud i class 0 stud i num stud i name stud i c program stud i english stud i math stud i average endl myFile close int Read student stud 从文件中读数据 fstream myFile myFile open score txt ios in ios binary if myFile cout score txt can t open count for int i 0 i stud i class 0 stud i num stud i name stud i c program stud i english stu d i math stud i average myFile close return count void Input student stud 输入学生成绩 system cls 运行前清屏 int i 0 int flag char sign cout endl 请输入学生成绩 n endl while sign n loop cout stud i num int c 0 while c i c if stud i num stud i c num cout 你输入的学号已经存在 请重新输入 endl goto loop cout stud i name do flag 0 cout stud i c program if stud i c program 100 stud i c program 1 cout 请输入 1 100 之间的数字 n else flag 1 while flag 0 do flag 0 cout stud i english if stud i english 100 stud i english 1 cout 请输入 1 100 之间的数字 n else flag 1 while flag 0 do flag 0 cout stud i math if stud i math 100 stud i math 1 cout 请输入 1 100 之间的数字 n else flag 1 while flag 0 stud i average stud i c program stud i english stud i math 3 cout 平均分 stud i average endl cout sign 输入判断 i Write stud i void Statistic student stud 统计学生数据 system cls 运行前清屏 int n Read stud cout endl 输出学生成绩 n endl cout 班级 t 学号 t 姓名 t 平均分 endl for int i 0 i n i cout stud i class 0 t stud i num t stud i name t stud i average endl system pause void Lookup student stud 查找学生成绩 int p cout 请选择 1 按学号查找 2 按姓名查找 p if p 1 system cls 运行前清屏 int n Read stud int s int i 0 cout endl 查找学生成绩 n endl cout 请输入查找学生的学号 s while stud i num s 0 查找判断 if i n cout 没有该学生的信息 endl 输入失败信息 else cout endl cout 班级 stud i class 0 endl 输出该学生信息 cout 学号 stud i num endl cout 姓名 stud i name endl cout C stud i c program endl cout 英语 stud i english endl cout 数学 stud i math endl cout 平均分 stud i average endl if p 2 system cls 运行前清屏 int m Read stud char t int i 0 cout endl 查找学生成绩 n endl cout 请输入查找学生的姓名 t while strcmp stud i name t stud i name 0 查找判断 cout endl cout 班级 stud i class 0 endl 输出该学生信息 cout 学号 stud i num endl cout 姓名 stud i name endl cout C stud i c program endl cout 英语 stud i english endl cout 数学 stud i math endl cout 平均分 stud i average endl void Modify student stud 修改学生成绩 system cls 运行前清屏 int n Read stud int s a float q int i 0 cout endl 修改学生成绩 n endl cout 输入修改成绩学生的学号 s while stud i num s 0 查找判断 if i n cout 没有该学生的成绩 endl 输入失败信息 else cout 该学生的信息 n endl 格式头 cout 班级 t 学号 t 姓名 t c t 英语 t 数学 t 平均分 endl cout endl cout stud i class 0 t stud i num t stud i name t stud i c program t stud i english t stud i math t stud i average en dl cout endl cout 请输入要修改的课程号 endl cout 1 c 语言 2 英语 3 数学 a cout 重新输入分数 q if a 1 stud i c program q if a 2 stud i english q if a 3 stud i math q stud i average stud i c program stud i english stud i math 3 cout 该学生的信息 n endl 格式头 cout 班级 t 学号 t 姓名 t c t 英语 t 数学 t 平均分 endl cout endl cout stud i class 0 t stud i num t stud i name t stud i c program t stud i english t stud i math t stud i average endl char c cout 是否保存数据 y n c if c n void Insert student stud 增加学生成绩 system cls 运行前清屏 int n Read stud char s cout endl 插入学生成绩 n endl while s n cout stud n num cout stud n name cout stud n c program cout stud n english cout stud n math stud n average stud n c program stud n english stud n math 3 cout 平均分 stud n average n cout 插入成功 endl 返回成功信息 cout 是否继续输入 y n s Write stud n void Manage student stud 按平均分对学生成绩记录项进行降序排序 system cls 运行前清屏 int i j k float s char t 20 cout endl 排列管理成绩 n endl int n Read stud for i 0 i n 1 i 冒泡法排序 for j 0 j n 1 i j if stud j average stud j 1 average strcpy t stud j 1 class 0 strcpy stud j 1 class 0 stud j class 0 strcpy stud j class 0 t k stud j 1 num stud j 1 num stud j num stud j num k strcpy t stud j 1 name strcpy stud j 1 name stud j name strcpy stud j name t s stud j 1 c program stud j 1 c program stud j c program stud j c program s s stud j 1 english stud j 1 english stud j english stud j english s s stud j 1 math stud j 1 math stud j math s stud j 1 average stud j 1 average stud j average stud j average s cout endl 格式头 cout 班级 t 学号 t 姓名 t C t 英语 t 数学 t 平均分 t 名次 endl for i 0 i n i 循环输入 stud i order i 1 cout stud i class 0 t stud i num t stud i name t stud i c program t stud i english t stud i math t stud i average t stud i order endl Write stud n void Output student stud 显示全部学生成绩 system cls 运行前清屏 int n Read stud cout 显示班级学生成绩 n endl if stud cout 没有记录 else cout endl 格式头 cout 班级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身房运营策划方案及实施步骤
- 多功能办公投影仪创新创业项目商业计划书
- 家具金属配件品牌加盟体系创新创业项目商业计划书
- 搪瓷制品生产线智能自动化生产线智能故障诊断与预防创新创业项目商业计划书
- 智能交通系统畸变校正解决方案
- 八年级物理期末试卷质量分析报告
- 在线教育平台课程内容开发及优化方案
- 基层医疗机构慢病管理项目方案
- 食品安全自查及整改措施汇编
- 2025西北工业大学重庆科创中心招聘笔试考试备考试题及答案解析
- 《119全国消防日》 课件 小学安全教育主题班会
- 2025年国企计算机岗位笔试真题及答案
- 采煤沉陷区综合治理项目初步设计
- 2025年杭州西湖区文新街道编外用工招聘4人考试参考题库及答案解析
- 矿山机器人协同控制-洞察与解读
- 2025年饮料服务项目发展计划
- 2025年英语专业专升本历年真题模拟试卷(含答案)
- 水土保持规划编制规范(2024版)
- 2026届高三上学期华师联盟联考10月月考英语试卷
- MOOC 创业基础-暨南大学 中国大学慕课答案
- 部编版四年级语文上册课件《说教材、说课标、说建议》
评论
0/150
提交评论