21xrx.com
2025-03-28 00:42:05 Friday
文章检索 我的文章 写文章
C++实现学生类设计
2023-07-07 08:26:38 深夜i     8     0
C++ 学生类 实现 设计

C++是一种广泛使用的编程语言,非常适合实现各种类型的类。在学生管理系统中,一个非常常见的类就是学生类。学生类可以用来存储和管理学生的基本信息,如姓名、年龄、性别、学号、成绩等。

在C++中,可以使用类来实现学生管理系统,具体的实现方式如下:

1.定义学生类

首先,需要定义一个学生类,包括学生的基本信息。通常情况下,一个学生类应该包括以下属性:

class Student {
private:
  string name;  // 姓名
  int age;    // 年龄
  string gender; // 性别
  int id;    // 学号
  double score; // 成绩
public:
  Student(string name, int age, string gender, int id, double score); // 构造函数
  string getName();  // 获取姓名
  int getAge();    // 获取年龄
  string getGender(); // 获取性别
  int getId();    // 获取学号
  double getScore(); // 获取成绩
  void setName(string name);  // 设置姓名
  void setAge(int age);    // 设置年龄
  void setGender(string gender); // 设置性别
  void setId(int id);      // 设置学号
  void setScore(double score); // 设置成绩
};

2.实现构造函数

在学生类中,需要实现一个构造函数,用来初始化学生的属性。构造函数通常包含学生的所有属性,如下所示:

Student::Student(string name, int age, string gender, int id, double score)
  this->name = name;
  this->age = age;
  this->gender = gender;
  this->id = id;
  this->score = score;

3.实现设置与获取函数

在学生类中,为了访问和修改学生的属性,需要实现一些设置和获取函数。这些函数用来获取或设置特定属性的值。例如,以下是一些实现了获取和设置函数的属性:

string Student::getName()
  return name;
void Student::setName(string name)
  this->name = name;

4.实现学生管理系统

现在,我们已经可以使用学生类来创建一个学生对象,并可以使用设置和获取函数来访问和修改学生的属性。

接下来,可以使用学生类来实现学生管理系统。通过一个学生管理系统,可以存储、查找、修改和删除多个学生对象。学生管理系统通常包含以下功能:

- 添加学生信息:为学生信息添加新的成员

- 显示学生信息:显示当前系统中所有学生的详细信息

- 修改学生信息:修改系统中某个学生的信息

- 删除学生信息:从系统中删除某个学生的信息

下面是一个基本的学生管理系统的代码示例:

#include <iostream>
#include <vector>
using namespace std;
class Student {
private:
  string name;
  int age;
  string gender;
  int id;
  double score;
public:
  Student(string name, int age, string gender, int id, double score);
  string getName();
  int getAge();
  string getGender();
  int getId();
  double getScore();
  void setName(string name);
  void setAge(int age);
  void setGender(string gender);
  void setId(int id);
  void setScore(double score);
};
Student::Student(string name, int age, string gender, int id, double score)
  this->name = name;
  this->age = age;
  this->gender = gender;
  this->id = id;
  this->score = score;
string Student::getName()
  return name;
void Student::setName(string name)
  this->name = name;
int Student::getAge()
  return age;
void Student::setAge(int age)
  this->age = age;
string Student::getGender()
  return gender;
void Student::setGender(string gender)
  this->gender = gender;
int Student::getId()
  return id;
void Student::setId(int id)
  this->id = id;
double Student::getScore()
  return score;
void Student::setScore(double score)
  this->score = score;
class StudentManagementSystem {
private:
  vector<Student> students;
public:
  void addStudent(Student student);
  void displayStudents();
  void modifyStudent(int id);
  void deleteStudent(int id);
};
void StudentManagementSystem::addStudent(Student student) {
  students.push_back(student);
}
void StudentManagementSystem::displayStudents() {
  for (int i = 0; i < students.size(); i++) {
    cout << "Name: " << students[i].getName() << endl;
    cout << "Age: " << students[i].getAge() << endl;
    cout << "Gender: " << students[i].getGender() << endl;
    cout << "ID: " << students[i].getId() << endl;
    cout << "Score: " << students[i].getScore() << endl;
    cout << endl;
  }
}
void StudentManagementSystem::modifyStudent(int id) {
  for (int i = 0; i < students.size(); i++) {
    if (students[i].getId() == id) {
      string name;
      int age;
      string gender;
      double score;
      cout << "Enter Name: ";
      cin >> name;
      cout << "Enter Age: ";
      cin >> age;
      cout << "Enter Gender: ";
      cin >> gender;
      cout << "Enter Score: ";
      cin >> score;
      students[i].setName(name);
      students[i].setAge(age);
      students[i].setGender(gender);
      students[i].setScore(score);
      break;
    }
  }
}
void StudentManagementSystem::deleteStudent(int id) {
  for (int i = 0; i < students.size(); i++) {
    if (students[i].getId() == id) {
      students.erase(students.begin() + i);
      break;
    }
  }
}
int main() {
  StudentManagementSystem sms;
  int choice;
  do {
    cout << "1. Add student\n";
    cout << "2. Display students\n";
    cout << "3. Modify student\n";
    cout << "4. Delete student\n";
    cout << "5. Exit\n";
    cout << "Enter your choice: ";
    cin >> choice;
    switch (choice) {
    case 1:
      string name;
      int age;
      string gender;
      int id;
      double score;
      cout << "Enter Name: ";
      cin >> name;
      cout << "Enter Age: ";
      cin >> age;
      cout << "Enter Gender: ";
      cin >> gender;
      cout << "Enter ID: ";
      cin >> id;
      cout << "Enter Score: ";
      cin >> score;
      Student student(name, age, gender, id, score);
      sms.addStudent(student);
      break;
    case 2:
      sms.displayStudents();
      break;
    case 3:
      int idToModify;
      cout << "Enter the ID of the student to modify: ";
      cin >> idToModify;
      sms.modifyStudent(idToModify);
      break;
    case 4:
      int idToDelete;
      cout << "Enter the ID of the student to delete: ";
      cin >> idToDelete;
      sms.deleteStudent(idToDelete);
      break;
    case 5:
      break;
    default:
      cout << "\nEnter a valid choice\n";
      break;
    }
  } while (choice != 5);
  return 0;
}

这个学生管理系统可以用来添加、显示、修改和删除学生的信息。在系统中,使用了一个vector来存储学生对象,并通过设置和获取函数来修改和访问学生的属性。

总结

C++是一种功能强大的编程语言,非常适合实现各种类型的类。学生管理系统是一个非常实用的应用程序,可以用来管理和处理学生的信息。学生类是实现学生管理系统的重要组成部分。通过学生类,可以定义学生对象,并实现各种操作学生属性的函数。除此之外,学生管理系统还可以使用其他的C++特性,如继承和多态性,来实现更多的业务逻辑和特殊需求。

  
  

评论区

请求出错了