C++ 用面向对象的方法编写一个学生成绩管理程序。要求能添加、编辑、查找、删除学生有关信息。
时间: 2023-06-16 09:07:08 浏览: 170
好的,以下是一个简单的C++学生成绩管理程序的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
string name;
int age;
float score;
Student(string n, int a, float s) {
name = n;
age = a;
score = s;
}
};
class StudentManager {
private:
Student* students;
int count;
public:
StudentManager() {
students = new Student[100];
count = 0;
}
~StudentManager() {
delete[] students;
}
void addStudent(Student s) {
students[count] = s;
count++;
}
void editStudent(int index, string n, int a, float s) {
students[index].name = n;
students[index].age = a;
students[index].score = s;
}
void searchStudent(string name) {
for (int i = 0; i < count; i++) {
if (students[i].name == name) {
cout << "Name: " << students[i].name << endl;
cout << "Age: " << students[i].age << endl;
cout << "Score: " << students[i].score << endl;
return;
}
}
cout << "Cannot find student with name " << name << endl;
}
void deleteStudent(int index) {
for (int i = index; i < count - 1; i++) {
students[i] = students[i + 1];
}
count--;
}
};
int main() {
StudentManager manager;
manager.addStudent(Student("Alice", 18, 80));
manager.addStudent(Student("Bob", 19, 90));
manager.addStudent(Student("Charlie", 20, 85));
manager.editStudent(1, "Bob Smith", 20, 95);
manager.searchStudent("Alice");
manager.deleteStudent(0);
return 0;
}
```
在上面的代码中,我们定义了一个 `Student` 类,代表一个学生。 `StudentManager` 类则用于管理学生的信息,它包含了一个 `Student` 类型的数组和一个整数 `count`,代表当前管理的学生数量。
`StudentManager` 类提供了 `addStudent`、`editStudent`、`searchStudent` 和 `deleteStudent` 四个方法,分别对应添加学生、修改学生信息、查找学生信息和删除学生信息。在这些方法中,我们使用了 `for` 循环来遍历学生数组,并对学生信息进行操作。
在 `main` 函数中,我们创建了一个 `StudentManager` 对象 `manager`,并向其中添加了三个学生信息。然后,我们修改了第二个学生的信息,并查找了第一个学生的信息。最后,我们删除了第一个学生的信息,并结束了程序的执行。
这只是一个简单的示例,实际的学生成绩管理程序可能需要更多的功能和更复杂的实现。
阅读全文