早教吧作业答案频道 -->其他-->
学生成绩统计系统使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。基本要求(1)选择课程,输入学生人数,以及本课程所有学生的成绩(2)统计本
题目详情
学生成绩统计系统
使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。
基本要求
(1) 选择课程,输入学生人数,以及本课程所有学生的成绩
(2) 统计本课程的总成绩,平均成绩,最高成绩,最低成绩。
(3) 将所有学生成绩以及统计的各项结果,以友好的界面形式显示。
(4) 下列菜单所给的课程只作为参考,可以根据自己的实际情况设计课程名称。
学生成绩管理系统
请选择课程:
1. C++程序设计
2. 图形图像处理
3. 英语
4. 计算机导论
5. 高等数学
6. 退出系统
使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。
基本要求
(1) 选择课程,输入学生人数,以及本课程所有学生的成绩
(2) 统计本课程的总成绩,平均成绩,最高成绩,最低成绩。
(3) 将所有学生成绩以及统计的各项结果,以友好的界面形式显示。
(4) 下列菜单所给的课程只作为参考,可以根据自己的实际情况设计课程名称。
学生成绩管理系统
请选择课程:
1. C++程序设计
2. 图形图像处理
3. 英语
4. 计算机导论
5. 高等数学
6. 退出系统
▼优质解答
答案和解析
//vc6.0下测试通过
//自己添加剩下的课程吧。。。我有点懒。。。
//有什么问题追问我哦 ^_^
#include
using namespace std;
#define MaxSize 50
#define SubjectNum 2
#define MATH 0
#define ENGLISH 1
typedef struct node{
char name[20];
float score[SubjectNum];
struct node * next;
} Node;
class Students{
private:
int num;//学生数
Node student[MaxSize];//学生表
public:
Students(){ num = 0;}
bool Add();
float Average( int);
float Sum( int);
float Min( int);
float Max( int);
void Display();
};
float Students::Average( int _subject){
float sum = 0;
for( int i = 0; i < num; i++){
sum += student[i].score[_subject];
}
return sum / num;
}
float Students::Sum( int _subject){
float sum = 0;
for( int i = 0; i < num; i++){
sum += student[i].score[_subject];
}
return sum;
}
float Students::Max( int _subject){
float max = 0;
for( int i = 0; i < num; i++){
if( student[i].score[_subject] > max)
max = student[i].score[_subject];
}
return max;
}
float Students::Min( int _subject){
float min = 0;
for( int i = 0; i < num; i++){
if( student[i].score[_subject] < min)
min = student[i].score[_subject];
}
return min;
}
bool Students::Add(){
cout << "输入学生数:" ;
cin >> num;
if( num <= MaxSize){
for( int i = 0; i < num; i ++){
cout << "第" << i + 1 << "个学生的数据" << endl;
cout << "姓名:";
cin >> student[i].name;
cout << "数学:";
cin >> student[i].score[0];
cout << "英语:";
cin >> student[i].score[1];
}
cout << "完成" << endl << endl;;
return true;
}else{
cout << "失败" << endl;
return false;
}
}
void Students::Display(){
cout << "-----------------成绩单-------------" << endl << endl;
cout << "姓名\t" << "数学" << "\t英语" << endl;
for( int i = 0; i < num; i++){
cout << student[i].name << "\t" << student[i].score[MATH] << "\t" << student[i].score[ENGLISH] << endl;
}
cout << "平均\t" << Average( MATH) << "\t" << Average( ENGLISH) << endl;
cout << "总分\t" << Sum( MATH) << "\t" << Sum( ENGLISH) << endl;
cout << "最高\t" << Max( MATH) << "\t" << Max( ENGLISH) << endl;
cout << "最低\t" << Min( MATH) << "\t" << Min( ENGLISH) << endl;
cout << "-------------------------------------" << endl << endl;
}
int main(){
Students st;
st.Add();
st.Display();
return 0;
}
//自己添加剩下的课程吧。。。我有点懒。。。
//有什么问题追问我哦 ^_^
#include
using namespace std;
#define MaxSize 50
#define SubjectNum 2
#define MATH 0
#define ENGLISH 1
typedef struct node{
char name[20];
float score[SubjectNum];
struct node * next;
} Node;
class Students{
private:
int num;//学生数
Node student[MaxSize];//学生表
public:
Students(){ num = 0;}
bool Add();
float Average( int);
float Sum( int);
float Min( int);
float Max( int);
void Display();
};
float Students::Average( int _subject){
float sum = 0;
for( int i = 0; i < num; i++){
sum += student[i].score[_subject];
}
return sum / num;
}
float Students::Sum( int _subject){
float sum = 0;
for( int i = 0; i < num; i++){
sum += student[i].score[_subject];
}
return sum;
}
float Students::Max( int _subject){
float max = 0;
for( int i = 0; i < num; i++){
if( student[i].score[_subject] > max)
max = student[i].score[_subject];
}
return max;
}
float Students::Min( int _subject){
float min = 0;
for( int i = 0; i < num; i++){
if( student[i].score[_subject] < min)
min = student[i].score[_subject];
}
return min;
}
bool Students::Add(){
cout << "输入学生数:" ;
cin >> num;
if( num <= MaxSize){
for( int i = 0; i < num; i ++){
cout << "第" << i + 1 << "个学生的数据" << endl;
cout << "姓名:";
cin >> student[i].name;
cout << "数学:";
cin >> student[i].score[0];
cout << "英语:";
cin >> student[i].score[1];
}
cout << "完成" << endl << endl;;
return true;
}else{
cout << "失败" << endl;
return false;
}
}
void Students::Display(){
cout << "-----------------成绩单-------------" << endl << endl;
cout << "姓名\t" << "数学" << "\t英语" << endl;
for( int i = 0; i < num; i++){
cout << student[i].name << "\t" << student[i].score[MATH] << "\t" << student[i].score[ENGLISH] << endl;
}
cout << "平均\t" << Average( MATH) << "\t" << Average( ENGLISH) << endl;
cout << "总分\t" << Sum( MATH) << "\t" << Sum( ENGLISH) << endl;
cout << "最高\t" << Max( MATH) << "\t" << Max( ENGLISH) << endl;
cout << "最低\t" << Min( MATH) << "\t" << Min( ENGLISH) << endl;
cout << "-------------------------------------" << endl << endl;
}
int main(){
Students st;
st.Add();
st.Display();
return 0;
}
看了学生成绩统计系统使用面向对象的...的网友还看了以下:
输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各个等级的成绩的个数.成绩分为五个等级, 2020-04-26 …
下列程序要求:输入学生某门功课的成绩,计算各成绩等级的人数程序1、根据输入计算并输出某1个班级中各 2020-05-17 …
2010年6月CECT4四级成绩计算\估分那位高手帮我计算一下,今年听力40多题,作文:快速阅读: 2020-05-21 …
如何分析数据.比如个两个班的成绩,两个人的成绩,如何判断谁好谁坏.在什么情况下用什么数据分析?该比 2020-06-10 …
王华的期末考试成绩单被弄污了,有两个数字看不清.请你想办法把语文数学的成绩计算出来.数王华的期末考 2020-06-23 …
2009年成都市大约有50000名学生参加高考,为了考查他们的数学考试成绩,评卷人抽去了2000名学 2020-11-06 …
2016高考成绩揭晓,漯河高中再创辉煌,考后学校对于单科成绩逐个进行分析:现对甲、乙两个文科班的数学 2020-11-12 …
九年级一班组织一分钟仰卧起坐测试,本班28名女同学的成绩统计如下表:成绩(个/分)152428313 2020-11-18 …
如何使用函数计算出一科前95%个学生的平均成绩?这是评比用.要按一个班各科参考总人数的百分之九十五计 2020-11-29 …
如何使用函数计算出一科前95%个学生的平均成绩?这是评比用。要按一个班各科参考总人数的百分之九十五计 2020-11-29 …