学生图书管理系统c++
时间: 2023-09-11 16:09:45 浏览: 92
下面是一个简单的学生图书管理系统的C++代码示例:
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 学生类
class Student {
private:
string name; // 姓名
int age; // 年龄
int number; // 学号
public:
// 构造函数
Student(string name, int age, int number) {
this->name = name;
this->age = age;
this->number = number;
}
// 获取姓名
string getName() {
return name;
}
// 获取年龄
int getAge() {
return age;
}
// 获取学号
int getNumber() {
return number;
}
};
// 图书类
class Book {
private:
string name; // 书名
string author; // 作者
int number; // 编号
public:
// 构造函数
Book(string name, string author, int number) {
this->name = name;
this->author = author;
this->number = number;
}
// 获取书名
string getName() {
return name;
}
// 获取作者
string getAuthor() {
return author;
}
// 获取编号
int getNumber() {
return number;
}
};
// 学生图书管理系统类
class Library {
private:
vector<Student*> students; // 学生列表
vector<Book*> books; // 图书列表
public:
// 添加学生
void addStudent(Student* student) {
students.push_back(student);
}
// 删除学生
void removeStudent(Student* student) {
for (int i = 0; i < students.size(); i++) {
if (students[i] == student) {
students.erase(students.begin() + i);
break;
}
}
}
// 添加图书
void addBook(Book* book) {
books.push_back(book);
}
// 删除图书
void removeBook(Book* book) {
for (int i = 0; i < books.size(); i++) {
if (books[i] == book) {
books.erase(books.begin() + i);
break;
}
}
}
// 显示学生列表
void showStudents() {
cout << "学生列表:" << endl;
for (int i = 0; i < students.size(); i++) {
cout << students[i]->getName() << "," << students[i]->getAge() << "岁,学号为" << students[i]->getNumber() << endl;
}
}
// 显示图书列表
void showBooks() {
cout << "图书列表:" << endl;
for (int i = 0; i < books.size(); i++) {
cout << books[i]->getName() << ",作者:" << books[i]->getAuthor() << ",编号为" << books[i]->getNumber() << endl;
}
}
};
int main() {
// 创建学生和图书
Student* student1 = new Student("张三", 18, 1001);
Student* student2 = new Student("李四", 20, 1002);
Book* book1 = new Book("C++程序设计", "张三", 2001);
Book* book2 = new Book("Java程序设计", "李四", 2002);
// 创建学生图书管理系统
Library* library = new Library();
// 添加学生和图书
library->addStudent(student1);
library->addStudent(student2);
library->addBook(book1);
library->addBook(book2);
// 显示学生和图书列表
library->showStudents();
library->showBooks();
// 删除学生和图书
library->removeStudent(student2);
library->removeBook(book2);
// 显示学生和图书列表
library->showStudents();
library->showBooks();
// 释放内存
delete student1;
delete student2;
delete book1;
delete book2;
delete library;
return 0;
}
```
上述代码实现了一个简单的学生图书管理系统,包括添加、删除、显示学生和图书列表等功能。其中,学生类和图书类分别表示学生和图书的信息,学生图书管理系统类包含了学生列表和图书列表,并提供了相应的操作方法。在主函数中,首先创建了两个学生和两本图书,然后添加到学生图书管理系统中,显示学生和图书列表,然后删除一个学生和一本图书,再次显示学生和图书列表,最后释放内存。
阅读全文