【问题描述】建立一个对象数组,从键盘输入n个学生的数据(学号、成绩),设立一个函数pass,用指针作为形参,输出所有及格的学生数据(大于等于60分即为及格)。
【输入说明】输入有n+1行,第一行输入正整数n,接下来的n行输入n个学生的数据,学号与成绩之间用空格分隔
【输出说明】输出有n/2行,或n/2+1行,分别表示学生数组中奇数项上的学生数据,学号信息占12位宽度。
【输入样例】
3
zhangsan 100
lisi 65.5
wangwu 58.1
【输出样例】
zhangsan 100
lisi 65.5
【样例说明】对象数组中存储了3个学生的信息,及格的学生是zhangsan和lisi,则输出他们的数据。
【答题说明】请将完整的程序源码粘贴在答题框内,并给出两组输入输出测试用例及运行截图。
```cpp
#include <iostream>
#include <iomanip>
using namespace std;
class student {
private:
double score;
string num;
public:
public:
void setscore()
{
cin>>score;
}
void setnum()
{
cin>>num;
}
void showscore()
{
cout<<score<<endl;
}
void shownum()
{
cout<<left<<setw(12)<<num<<" ";
}
void pass()
{
if(score>=60)
{
shownum();
showscore();
}
}
};
int main()
{
student *p;
int n;
cin>>n;
p=new student[n];
for(int i=0;i<n;i++)
{
p->setnum();
*p;
p->setscore();
*p;
p++;
}
p=p-n;
cout<<endl;
for(int i=0;i<n;i++)
{
p->pass() ;
*p;
p++;
}
};
Simple Input 1
3
zhangsan 100
lisi 65.5
wangwu 58.1
Simple Input 2
5
zhangsan 100
lisi 65.5
wangwu 58.1
kery 99
keryer 59
Simple Output 1
Simple Output 2