中南大学研究生成绩管理系统C++课程设计程序报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研究生成绩管理系统C++ 程序设计实验报告中南大学信息科学与工程学院专业:电气信息类
班级:————
学号:————
姓名:————
选题:研究生成绩管理系统
指导教师:
课程设计时间:
目录
一.封面------------------------------1
二.目录页--------------------------------2
三.基本内容和要求------------------------3-4
四.软件设计整体规划及方案----------------5
五.程序功能简介--------------------------6
六.主体内容------------------------------6-30
1.设计分析----------------------------6-7
2.程序结构----------------------------7
3.各模块功能、程序说明与源程序---------7-25
4.操作方法与试验结果------------------26-29
5.设计体会----------------------------30
6.参考文献----------------------------30
三.基本内容和要求
C++研究生成绩管理系统
设计一个研究生基本信息管理案例,实现对不同学制的研究生的信息管理。研究生的学制包括:学术硕士和工程硕士。定义一个基本的研究生类,基本信息包括:专业,发表论文((名称与级别1、2、3)可以多篇,最多三篇),论文成绩,总成绩;工程硕士属性包括:领域,参与项目(名称与级别A,B,C…)项目成绩,总成绩。计算方式如下
1)学术硕士论文成绩计算:各个级别的论文得分为:级别*10,每个学生论文最高90分:假设某研究生发表两篇
论文,级别分别为1、2,那么论文成绩=(10\90+20\90)
*100,总成绩=课程成绩*0.7+论文成绩*0.3;
2)工程硕士项目成绩计算:每个学生只参与一项项目,各个级别得分:A级90,B级75,C级60,不参与项目得分
为0。
总成绩=课程成绩*0.5+项目成绩*0.5;
基本功能与技术要求
1、数据文件管理功能:利用输入输出流创建新文件、打开文件、保存文件。
2、计算与统计功能:采用静态数据成员与成员函数完成记录
中的相关数据统计。
1)能够打开已存在的数据表文件,对数据表中与某关键字匹配的相关记录进行数据统计(包括总数、平均值、分段信
息),例如:按总成绩得分为100、90-99、80-89、70-79、60-69和不及格学生的人数,以及所占的百分比。
2)计算每个研究生的总成绩。
3、记录管理功能:利用继承与派生思想创建不同的类;记录的管理采用链表或者指针数组实现;采用抽象类、虚函数
等实现对象与函数的动态关联,体现多态性。
1)输入\添加\插入记录:利用重载运算符“>>”完成对任意一条记录输入、添加或插入数据表中,并保存到数据
文件中。
2)查询、显示记录:能够打开已经存在的数据表文件,根据用户要求按所给记录关键字查询一个或多个相关联记录的
各项信息。利用重载运算符“<<”输出个对象的信息。3)修改记录:能够打开已存在的数据表文件,并对确定的任意记录进行修改,在修改过程中,应显示记录信息,给出
确认提示,并对更新的记录信息进行文件保存。
4)删除记录:能够打开已存在的数据表文件,可以删除数据表中的任一记录,要求具备逻辑删除(具有恢复功能)和
物理删除功能,并对更新的数据表信息进行文件保存。
四.软件设计整体规划及方案
1.对于研究生信息,建立基类Graduated,并由此派生出两种研究生学制:学术硕士Xueshu和工程硕士Gongcheng,以此实现对基本信息的录入。
2.在编写程序过程中,可以用到重载,派生,多态性,链表等功能来实现相应的功能。
3.大致方案:
对研究生各类论文和项目进行收集和录入。先定义一个研究生基类,录入两类研究生的基本个人信息:班级,学号,姓名,性别等。由研究生基类派生出两类研究生:学术硕士研究生和工程硕士研究生。在研究生个人基本信息录入成功后,再设计模块对各类研究生的论文和项目信息进行收集,进行计分和成绩统计及计算平均分和各分段所占相应总体的成绩。在完成相应信息和成绩的录入后再输出各类研究生的基本信息及成绩和各分段所占相应总体的成绩,在系统已经录入了各类研究生的各项信息的前提下,使用输出功能可以显示各类研究生的所有信息及相应成绩的相关内容等等。具体包括两类研究生的姓名,学号,性别,论文成绩/项目成绩,论文/项目题目,以及各分段占总体相应的比例。然后实现查看各类研究生各方面的信息功能,再返回到主菜单进行之后的相应操作,选择插入、修改、删除等所需操作来继续进行系统的完善。然后在所有操作完成后对所记录的信息进行保存,方便在下次使用时直接对已录入并记录的信息进行查询或者其它相应操作。
五.程序功能简介
本系统主要用于对不同种类(学术硕士、工程硕士两种)的研究生各类成绩进行信息收集和管理。通过本系统,可以将各个类的研究生的个人基本信息和相应成绩输入到系统中,由系统对不同种类的研究生的成绩进行相应各类计算和录入,再保存到相应文件中,实现信息的录入和记录,便于进行相关查询和相关管理操作。
此程序可以实现:录入、添加各类研究生信息,删除各类研究生相关信息,修改各类研究生信息,查询各类研究生信息,计算与统计各类研究生相关信息并将所录入的信息保存至txt文件,在查询时可显示之前所录入的相关信息。
六.主体内容
1.设计分析:对于一个管理系统而言,主函数,函数以及成员函数是其重要组成部分。主函数的主要任务是确定所需调用函数,根据课程设计要求,该系统至少应该实现以下几种基本功能:输出研究生各类基本信息,删除所需的各类研究生相关信息,修改各类研究生相关信息,查找各类研究生相关信息,保存所输入的研究生相关信息。实现以上任何一种功能都必须要调用一个函数,而编写函数的目的是编写一个能实现某种功能的函数供主函数调用。根据C++面向对象的特点,函数可以调用类中的成员函数。这样主函数和函数以及成