大型实验报告(歌手比赛系统) 下载本文

大类基础课程大型实验

2014/2015(2)

实验题目 歌手比赛系统

学生姓名 学生学号 学生班级 任课教师 提交日期

计算机科学与技术学院

浙江工业大学计算机科学与技术学院 大类基础课程大型实验报告

歌手比赛系统 实验报告

一、 大型实验的内容

歌手比赛系统(SCS:Singer Contest System)用于对一次歌手比赛的成绩进行管理,要求完成的主要的功能包括选手信息管理、评委打分管理。可以完成成绩排序(按平均分),选手数据查询,追加学生数据,写入数据文件等工作。要求使用学习过的C/C++程序设计的知识完成歌手比赛系统的设计与实现。

二、 运行环境

歌手比赛系统(SCS)在Visual Studio 2010平台下开发,操作系统:Windows 8.1 。 硬件环境:

处理器:Intel(R) Core(TM) i5-5257M CPU @ 2.70GHz 2.70GHz 内存:8.00GB

系统类型:64位操作系统

三、 实验课题分析(主要的模块功能、流程图)

3.1 歌手比赛系统的主要功能

歌手比赛系统(SCS)主要功能为:选手信息管理、评委打分管理。可以完成成绩排序(按平均分),选手数据查询,追加学生数据,写入数据文件等。详细的系统功能结构为图1所示。

菜单模块 选手模块 图1 系统结构图

歌手比赛系统SCS 评委模块 第 1 页 共 30 页

浙江工业大学计算机科学与技术学院 大类基础课程大型实验报告

系统各模块的功能具体描述为: 1、菜单模块

根据用户需求进行选择。菜单模块包括:(1)输入选手数据;(2)评委打分; (3)成绩排序(按平均分);(4)数据查询; (5)追加学生数据; (6)写入数据文件;(7)退出系统。

2、选手模块

存储选手的姓名、编号、一个评委类,以及该选手的平均分和总分。 3、评委模块

存储10个评委对一个选手的打分情况。

计算总分功能:根据10个评委的打分(去掉最高分和最低分),计算选手的总分。 计算平均分功能:根据10个评委的打分(去掉最高分和最低分),计算选手的平均分。 还有2个辅助功能:寻找最高分和最低分。 3.2 系统分析及设计

系统涉及对象有两个基本类:选手类和评委类。还有一个菜单类。

可以采用面向对象的方式实现歌手比赛系统,根据不同的需求,分为选手类和评委类。其中选手类中以评委类为成员变量。系统的主要的类结构如图2所示。

菜单类 选手类 评委类

图2 系统主要类结构图

分别设计菜单类、选手类、评委类,菜单类提供选择功能。

用文本文件进行数据的保存,需要保存的数据主要包括选手的编号、信息、平均分和排名等。

3.3系统的实现 (1)类的编写

系统工程名为:Test。包含了Student类(选手类),Judge类(图书类)两个基本类,

另设menu类,进行具体功能的选择及实现。 Student类包含选手的编号、姓名、评委的打分(Judge声明的对象obj)、选手的总分和平均分。Judge类包含10个评委的打分。

第 2 页 共 30 页

浙江工业大学计算机科学与技术学院 大类基础课程大型实验报告

具体类结构声明如下: ? Student类:

class Student {

public:

void setID(string ID); void setName(string name); void setObj(Judge& j); voiid setSUM(double sum); void setAVE(double ave); string getID(); string getName(); Judge getObj(); double getSUM(); double getAVE(); Student(Student&); Student(void);

~Student(void); private:

string ID; string name; Judge obj; double SUM; double AVE; };

? Judge类

class Judge {

public:

void setGrade(double g[10]); double* getGrade(); void display();

double sumGrade();//计算总分 double aveGrade();//计算平均分

double getMax();//辅助函数,寻找最高分 double getMin();//辅助函数,寻找最低分 Judge(void); Judge(Judge&); ~Judge(void); private:

double grade[10]; };

第 3 页 共 30 页