设计一个类,主函数中建立一个对象数组,输入5个学生数据(学号、成绩),用对象指针指向数组首元素,输出5个学生的数据。
时间: 2023-06-12 15:07:13 浏览: 130
以下是一个可能的实现:
```c++
#include <iostream>
using namespace std;
class Student {
public:
int id;
int grade;
Student(int id, int grade) {
this->id = id;
this->grade = grade;
}
};
int main() {
Student students[5] = {
Student(1, 85),
Student(2, 72),
Student(3, 94),
Student(4, 68),
Student(5, 90)
};
Student* p = &students[0];
for (int i = 0; i < 5; i++) {
cout << "学号:" << p->id << " 成绩:" << p->grade << endl;
p++;
}
return 0;
}
```
输出结果:
```
学号:1 成绩:85
学号:2 成绩:72
学号:3 成绩:94
学号:4 成绩:68
学号:5 成绩:90
```
相关问题
编写一个c++程序定义一个学生类,包含私有成员姓名、学号及成绩等,并有相关的成员函数,在主函数中建立一个对象数组,内放5个学生的数据,用指针指向数组首元素,输出第1,3,5学生的数据。
下面是一个简单的示例程序,实现了你的要求:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
Student(string n = "li", int nu = 1, int s = 80) : name(n), number(nu), score(s) {}
void display() {
cout << "Name: " << name << endl;
cout << "Number: " << number << endl;
cout << "Score: " << score << endl;
}
private:
string name;
int number;
int score;
};
int main() {
Student a[5] = { Student("li",1,80), Student("hu",2,81), Student("chen",3,84), Student("pi",4,80), Student("ji",5,50) };
Student *p;
p = a;
for (int i = 0; i < 5; i += 2) {
p[i].display();
}
return 0;
}
```
在上面的程序中:
- 定义了一个 Student 类,包含姓名、学号和成绩等私有成员,以及一个 display() 成员函数,用于输出学生的数据。
- 在主函数中,建立了一个对象数组 a,内放了 5 个学生的数据。
- 用指针 p 指向数组首元素,然后通过 p[i] 的方式输出第 1、3、5 个学生的数据。注意这里的循环条件是 i < 5,步长是 2,这样就可以输出奇数位置的学生数据了。
建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。初值自拟。
好的,下面是一个简单的实现:
```cpp
#include <iostream>
using namespace std;
class Student {
public:
int id;
int score;
};
void max(Student *stu, int n) {
int max_score = -1;
int max_id = -1;
for (int i = 0; i < n; i++) {
if (stu[i].score > max_score) {
max_score = stu[i].score;
max_id = stu[i].id;
}
}
cout << "Max score student id: " << max_id << endl;
}
int main() {
Student stu[5] = {{1, 80}, {2, 90}, {3, 95}, {4, 85}, {5, 75}};
max(stu, 5);
return 0;
}
```
在这段代码中,我们首先定义了一个Student类,它包含了学号和成绩两个成员变量。然后我们实现了一个max函数,它接受一个指向Student对象的指针和对象数组的大小作为参数,然后遍历整个数组,找出成绩最高的学生,并输出它的学号。最后,在主函数中我们创建了一个包含5个学生数据的对象数组,并将它作为参数调用max函数。
希望这个例子能够帮助你理解如何实现这个问题。