早教吧 育儿知识 作业答案 考试题库 百科 知识分享

学生成绩统计系统使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。基本要求(1)选择课程,输入学生人数,以及本课程所有学生的成绩(2)统计本

题目详情
学生成绩统计系统
使用面向对象的方法编写一个程序,实现在如下菜单中,输入数字序号,执行相应功能。
基本要求
(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;
}