#include <algorithm>
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstring>
using namespace std;
class student
{
public:
void setnum();//输入学生成绩
void sum();//学生个人成绩总和
void average();//学生个人平均成绩
int getnum();//获取某个学生学号
void printf();//显示全部学生成绩
private:
int num;//学号
string name;//姓名
double math;//数学
double eng;//英语
double com;//计算机
};
void student::setnum()//输入成绩
{
cin>>num>>name>>math>>eng>>com;
}
void student::printf()//输出学生个人信息
{
cout<<"学号:"<<num <<endl;
cout<<"姓名:"<<name <<endl;
cout<<"数学:"<<math <<endl;
cout<<"英语:"<<eng <<endl;
cout<<"计算机:"<<com <<endl;
}
void student::sum()//输出个人总成绩
{
double sum=math+eng+com;
cout<<"总分:"<<sum<<endl;
}
void student::average()//输出个人平均分
{
double ave=(math+eng+com)/3;
cout<<"平均分:"<<ave<<endl;
}
int student::getnum()//使用公有函数获取私有数据——学号
{
return num;
}
int main()
{
cout<<"输入学生成绩"<<endl;
student st[100];//类可以用数组
cout<<"输入学生总数:";
int n;
cin>>n;
for(int i=0;i<n;i++)//在主函数里利用循环达到多次输入的目的
{
st[i].setnum();
}
for(int i=0;i<n;i++)//不能在类里进行循环 类的私有函数是不能在主函数里用的
{//只能用公有函数来达到调用私有函数的目的
st[i].printf();
st[i].sum();
st[i].average();
}
cout<<"输入所要查找成绩的学生学号:";
int cha,flag=0;
cin>>cha;
for(int i=0;i<n;i++)
{
if(cha==st[i].getnum())
{
flag=1;
cout<<"该学生信息为:"<<endl;
st[i].printf();
st[i].sum();
st[i].average();
}
}
if(flag==0)
{
cout<<"未找到该学生信息、请检查输入学号是否有误。"<<endl;
}
return 0;
}