1、 长江大学工程技术学院 C语言课程设计实习报告 学生成绩管理系统学生成绩管理系统 学生姓名:学生姓名: 学号:学号: 序号:序号:01 专业班级:专业班级: 指导老师:指导老师: 第一部分第一部分 课程设计的题目与要求课程设计的题目与要求 学生成绩管理系统的设计学生成绩管理系统的设计 问题的提出:问题的提出: 1) 实现查询显示功能:按姓名查询 按学号查询 显示全部信息。将满足查询条 件的学生信息显示在屏幕上。 2) 实现排序功能:按姓名排序 按总成绩排序按 C 语言成绩排序,将排序后的 所有学生的信息显示在屏幕上。 3) 实现添加功能:录入新的学生信息数据。在录入新的学生信息前,首先判断该学
2、生 的学号是否存在,如果不存在,则可进行数据录入并依次输入学生的相关信息;如 果该学生的学号存在,则提示不能进行添加操作。 4) 实现删除功能:按姓名删除 按学号删除,先输入学生的学号或姓名,若系统中 有此学生的信息,则删除该学生的所有信息;若无此学生的信息,则提示系统中无 此学生信息。 5) 实现修改功能:先输入要修改的学生学号,如果该学生存在,则根据需要,修改学 生的相关信息;若该学生不存在,则提示系统中无此学生信息。 6) 计算每个学生的加权平均分(英语的学分为 5,数学的学分为 4,C 语言的学分为 4.5,物理的学分为 3) ,加权平均分的小数位保留两位。按加权平均分将原始数据文 件
3、分成 5 个,分别为: score1.txt:加权平均分在 90100 分; score2.txt:加权平均分在 8089 分; score3.txt:加权平均分在 7079 分; score4.txt:加权平均分在 6069 分; score5.txt:加权平均分在 60 分以下的。 其中,这 5 个文件中的内容均为: 学号学号 姓名姓名 英语英语 数学数学 C 语言语言 物理物理 总成绩总成绩 加权平均分加权平均分 20100010 赵鹏 98 78 72 65 20100011 刘季红 78 82 71 67 功能要求功能要求 1) 显示全部信息 2) 按姓名查询 3) 按学号查询 4)
4、 按姓名排序 5) 按总成绩排序 6) 按 C 语言成绩排序 7) 实现添加功能 8) 实现删除功能 9) 实现修改功能 10) 加权平均分 11) 退出 第二部分第二部分 课程设计题目功能课程设计题目功能 1. 系统功能模块框图设计系统功能模块框图设计 2. 数据结构说明数据结构说明 struct student定义一个数据结构体,命名为 students char num20; /学号/ char name20; /姓名/ char sex20; /性别/ char birth20; /生日/ float scoreYY; /英语分数/ float scoreSX; /数学成绩/ 定义的结
5、构体类型和变量 float scoreCYY; /C 语言成绩/ float scoreWL; /物理成绩/ float scoreZCJ; /总成绩/ float scoreJQ; /加权平均分/ 学生成绩管理系统 按姓名查询 按学号查询 按姓名排序 按总成绩排序 按 C 语言成绩排序 显示全部信息 添加信息 排序 查询信息 修改信息 删除信息 计算加权平均分并分阶段 退出 3. 详细设计详细设计 (1 1) 创建文本创建文本文档,写入原始数据(如图)文档,写入原始数据(如图) (2 2) 定义结构体(如图)定义结构体(如图) (3 3) 写想实现的功能菜单及函数(如图)写想实现的功能菜单及
6、函数(如图) (4 4) 详细的写各部分的函数,思路如下详细的写各部分的函数,思路如下 文件的读取 按姓名查询 按学号查询 定义指针,看能否打开文件 能打开则读取文 件夹全部信息 不能打开则输出:学生 信息文件打开错误 输出文档内 的信息 退出 读取文件,输入姓名 用 strcmp 函数进行 比较 找到则输出该学生 全部信息 未找到则提示未找到 重新输编号进行操作 用 strcmp 函数进行 比较 找到则输出该学生 全部信息 未找到则提示未找到 重新输编号进行操作 读取文件,输入学号 按姓名排序 按总成绩排序 按 C 语言成绩排序 定义变量,进行 for 循环 用 strcmp 函数进行比较 按字母从 a 到 z 进行位置互换 排序完成,输出排序完后的全部信息 定义变量,进行 for 循环 用 strcmp 函数进行比较 按数字从小到大进行位置互换 排序完成,输出排序完后的全部信息 定义变量,进行 for