这道题不会做,除了用类实现,希望能用结构体在做一次。具体要求已在图片上了
定义一个学生类,然后main里定义10个学生对象数组,用cin输入信息。来个函数算总分和平均分
class CStudent
{
public:
string name;
string num;
int score;
CStudent() {}
CStudent(string a,string b,int c) : name(a),num(b),score(c) {}
};
void fun1(CStudent *pStu,int n)
{
int count = 0;
for(int i=0;i<n;i++)
if(pStu[i].score < 60)
{
count++;
cout<<pStu[i].num<<pStu[i].name<<pStu[i].score<<endl;
}
cout<<"不及格学生人数为:”<<count<<endl;
}
void fun2(CStudent *pStu,int n)
{
int num[6] = {0};
for(int i=0;i<n;i++)
{
int k = pStu[i].score/10;
switch(k)
{
case 6:
case 7:
case 8:
case 9:
case 10:
num[k-5]++;
break;
default:
num[0]++;
default;
}
}
for(int i=0;i<6;i++)
{
cout<<"第"<<i+1<<"段人数为:"<<num[i]<<",占比为:"<<num[i]*1.0/n<<endl;
}
}
int main()
{
CStudent stu[10];
int i=0,n=0;
cin<<n;
for(i=0;i<n;i++)
cin<<stu[i].name<<stu[i].num<<stu[i].score;
fun1(stu,n);
fun2(stu,n);
return 0;
}
要求在哪呢
实现一个简单的学生管理系统,要求如下
(1)学生人数不超过10人
(2)学生信息包含学号【字符串】、成绩【非负整数】;
(3)用类实现学生信息的存储;
分别实现下列功能:
(1)统计不及格人数并打印不及格学生名单(包括学号、姓名、成绩);
(2)统计各分数段的学生人数及所占的百分比
注:成绩分为6个段,60分以下为第0段,60-69为第一段以此类推