1、1 研究生成绩管理系统研究生成绩管理系统 C+ C+ 程序设计实验报告程序设计实验报告 中南大学信息科学与工程学院中南大学信息科学与工程学院 专业:专业:电气信息类电气信息类 班级:班级: 学号:学号: 姓名:姓名: 选题:选题:研究生成绩管理系统研究生成绩管理系统 2 目录目录 一封面-1 二.目录页-2 三.基本内容和要求-3-4 四.软件设计整体规划及方案-5 五.程序功能简介-6 六.主体内容-6-30 1.设计分析-6-7 2.程序结构-7 3.各模块功能、程序说明与源程序-7-25 4.操作方法与试验结果-26-29 5.设计体会-30 6.参考文献-30 3 三.基本内容和要求
2、C+C+研究生成绩管理系统研究生成绩管理系统 设计一个研究生基本信息管理案例, 实现对不同学制的研究生 的信息管理。研究生的学制包括:学术硕士和工程硕士。定义一 个基本的研究生类,基本信息包括:专业,发表论文( (名称与 级别 1、2、3)可以多篇,最多三篇) ,论文成绩,总成绩;工 程硕士属性包括:领域,参与项目(名称与级别 A,B,C)项 目成绩,总成绩。计算方式如下 1) 学术硕士论文成绩计算:各个级别的论文得分为:级别 *10,每个学生论文最高 90 分:假设某研究生发表两篇 论文, 级别分别为 1、 2, 那么论文成绩= (1090+2090) *100,总成绩=课程成绩*0.7+论
3、文成绩*0.3; 2) 工程硕士项目成绩计算:每个学生只参与一项项目,各 个级别得分:级 90,B 级 75,C 级 60,不参与项目得分 为 0。 总成绩=课程成绩*0.5+项目成绩*0.5; 基本功能与技术要求基本功能与技术要求 、 数据文件管理功能:利用输入输出流创建新文件、打开文 件、保存文件。 、 计算与统计功能:采用静态数据成员与成员函数完成记录 4 中的相关数据统计。 ) 能够打开已存在的数据表文件,对数据表中与某关键字匹 配的相关记录进行数据统计(包括总数、平均值、分段信 息) ,例如:按总成绩得分为 100、90-99、80-89、70-79、 60-69 和不及格学生的人数
4、,以及所占的百分比。 ) 计算每个研究生的总成绩。 、 记录管理功能:利用继承与派生思想创建不同的类;记录 的管理采用链表或者指针数组实现;采用抽象类、虚函数 等实现对象与函数的动态关联,体现多态性。 ) 输入添加插入记录:利用重载运算符“”完成对 任意一条记录输入、添加或插入数据表中,并保存到数据 文件中。 ) 查询、显示记录:能够打开已经存在的数据表文件,根据 用户要求按所给记录关键字查询一个或多个相关联记录的 各项信息。利用重载运算符“为“in“ friend ostream /重载运算符name; coutlevel; void Paper:output() coutname; cou
5、tlevel; void Project:output() cout(istream /重载运输符为“in“ friend ostream /重载运算符x.num; coutx.sex; for(;x.sex!=m) coutx.age; coutx.score; coutj; return in; 12 ostream out(istream /友元重载输入函数输入工程硕士 friend ostream coutg.name; coutg.sex; coutg.score; for(;g.score100;) coutg.block; coutX; int i; for(i=0;i xi; void outxue(Xueshu x) /学术硕士信息输出到屏幕 int i; for(i=0;iG; for(i=0;igi; /