文档详情

学生成绩统计系统.doc

发布:2017-05-22约2.58千字共6页下载文档
文本预览下载声明
学生成绩统计系统 一 目的 用面向对象的方法建立一个成绩类管理所有成绩信息,其中包括以下功能:查询各科及总分最高分,查询各科及总分最低分,查询各科及总分平均分,以及查询总分按分数段统计信息。相应成绩信息从文件中读取并进行初始化,保留初始化的学生成绩信息于文件中,并且可以向文件中添加学生成绩信息。 二 需求分析 根据学生成绩统计的需要,而建立一个“学生成绩统计系统”,以方便对成绩的各项管理操作。 ①查询班级所有学生成绩; ②查询班级最高分、最低分; ③查询班级平均分; ④添加学生信息。 三 概要设计 定义student类 定义student的数据成员和成员函数 void showbase() void input() string getname(){return name;}; string getsex(){return sex;}; int getnumber(){return number;}; int getscore(){return score;}; int number,score; string name; string sex; 2.构造input()函数,用于输入学生信息及成绩 3.构造showbase()函数,显示学生信息 4.int findmaxscore(int score[],int n) 查询班级最高分 5.int findminscore(int score[],int n) 查询班级最低分 6.double averscore(int score[],int n) 求班级平均分 四 详细设计 1.student类 student(); student(int number1,string name1,string sex1,int score1) { number=number1;//学生学号 name=name1; //学生姓名 sex=sex1; //学生性别 score=score1; //学生成绩 } void showbase(); void input(); string getname(){return name;};//获得学生姓名 string getsex(){return sex;}; //获得学生性别 int getnumber(){return number;};//获得学生学号 int getscore(){return score;};//获得学生成绩 protected: int number,score; string name; string sex; }; 2.//查询最高分使用循环结构将学生成绩一个一个比较,直至找出最高分 int findmaxscore(int score[],int n) { int i,maxscore; maxscore=score[0]; for(i=0;in;i++) //for循环将数组的数据一个一个进行比较 { if(score[i]maxscore) maxscore=score[i];//判断语句寻找最高分 } return maxscore;//最后返回最高分 } 3.求班级平均分:数组累加,最后在return处求出平均值,返回 double averscore(int score[],int n) { int i; double aver; //全部人的分数总和 aver=score[0]; for(i=0;in;i++) //for循环将学生的分数一个一个累加 { aver=aver+score[i]; } return aver/n; //最后返回平均值 } 4.文本文件的读写 int k,m; int l=0; cout 请输入添加学生信息的个数:endl; cink; ofstream gh(f1.text,ios::out|ios::app);//定义输出文件流fi for( l;lk;l++) { coutendl; a[l].input(); gha[l].number a[l].name a[l].sex a[l].scoreendl; //将输入的学生信息用for循环写入输出文件中 } gh.close(); 五 调试分析 最重要的是文件操作部分的内容,这是本次课程设计中的难点。当时,我是依据课本上的一
显示全部
相似文档