21xrx.com
2024-12-23 01:37:22 Monday
登录
文章检索 我的文章 写文章
C++实现学生类设计
2023-07-07 08:26:38 深夜i     --     --
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++特性,如继承和多态性,来实现更多的业务逻辑和特殊需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复