帮我找一个图书馆管理系统源代码作为参考,包含用户,管理员两种,有信息管理,借阅管理等功能
时间: 2023-07-16 17:14:07 浏览: 54
以下是一个简单的图书馆管理系统的源代码,包含用户和管理员两种角色,有信息管理、借阅管理等功能,希望对你有所帮助:
```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Book {
public:
string name;
string author;
string isbn;
bool isBorrowed;
};
class User {
public:
string name;
string id;
vector<Book> booksBorrowed;
};
class Library {
private:
vector<Book> books;
vector<User> users;
public:
void addBook(Book book) {
books.push_back(book);
}
void addUser(User user) {
users.push_back(user);
}
void borrowBook(User user, Book book) {
for (int i = 0; i < books.size(); i++) {
if (books[i].isbn == book.isbn && !books[i].isBorrowed) {
books[i].isBorrowed = true;
user.booksBorrowed.push_back(books[i]);
cout << "Book borrowed successfully." << endl;
return;
}
}
cout << "Sorry, the book is not available for borrowing." << endl;
}
void returnBook(User user, Book book) {
for (int i = 0; i < user.booksBorrowed.size(); i++) {
if (user.booksBorrowed[i].isbn == book.isbn) {
user.booksBorrowed.erase(user.booksBorrowed.begin() + i);
for (int j = 0; j < books.size(); j++) {
if (books[j].isbn == book.isbn) {
books[j].isBorrowed = false;
cout << "Book returned successfully." << endl;
return;
}
}
}
}
cout << "You have not borrowed this book." << endl;
}
void displayBooks() {
for (int i = 0; i < books.size(); i++) {
cout << "Name: " << books[i].name << endl;
cout << "Author: " << books[i].author << endl;
cout << "ISBN: " << books[i].isbn << endl;
cout << "Status: " << (books[i].isBorrowed ? "borrowed" : "available") << endl;
cout << endl;
}
}
void displayUsers() {
for (int i = 0; i < users.size(); i++) {
cout << "Name: " << users[i].name << endl;
cout << "ID: " << users[i].id << endl;
cout << "Books borrowed:" << endl;
for (int j = 0; j < users[i].booksBorrowed.size(); j++) {
cout << "Name: " << users[i].booksBorrowed[j].name << endl;
cout << "Author: " << users[i].booksBorrowed[j].author << endl;
cout << "ISBN: " << users[i].booksBorrowed[j].isbn << endl;
cout << endl;
}
}
}
};
int main() {
Library library;
// add books
Book book1 = {"The Great Gatsby", "F. Scott Fitzgerald", "978-3-16-148410-0", false};
Book book2 = {"To Kill a Mockingbird", "Harper Lee", "978-3-16-148410-1", false};
Book book3 = {"1984", "George Orwell", "978-3-16-148410-2", false};
library.addBook(book1);
library.addBook(book2);
library.addBook(book3);
// add users
User user1 = {"Alice", "10001"};
User user2 = {"Bob", "10002"};
library.addUser(user1);
library.addUser(user2);
// borrow books
library.borrowBook(user1, book1);
library.borrowBook(user1, book2);
library.borrowBook(user2, book1);
// display books and users
library.displayBooks();
library.displayUsers();
// return books
library.returnBook(user1, book1);
library.returnBook(user2, book1);
library.returnBook(user1, book3);
// display books and users again
library.displayBooks();
library.displayUsers();
return 0;
}
```
注意:这只是一个简单的示例,实际的图书馆管理系统可能需要更多的功能和复杂性。