图书馆管理系统C++
时间: 2023-12-19 15:05:42 浏览: 41
以下是一个简单的图书馆管理系统的C++代码,包括添加图书、删除图书、查找图书和修改图书等功能:
```c++
#include <iostream>
#include <string>
using namespace std;
// 图书结构体
struct Book {
string name; // 书名
double price; // 价格
int number; // 编号
};
// 图书数组结构体
struct Arraybooks {
Book *book; // 图书数组指针
int length; // 图书数组长度
};
// 初始化图书数组
void initArray(Arraybooks *abs) {
abs->book = new Book[100];
abs->length = 0;
}
// 添加图书
void addBook(Arraybooks *abs) {
cout << "请输入书名:" << endl;
string name;
cin >> name;
cout << "请输入价格:" << endl;
double price;
cin >> price;
cout << "请输入编号:" << endl;
int number;
cin >> number;
abs->book[abs->length].name = name;
abs->book[abs->length].price = price;
abs->book[abs->length].number = number;
abs->length++;
cout << "添加成功!" << endl;
}
// 删除图书
void deleteBook(Arraybooks *abs) {
cout << "请输入要删除的书名:" << endl;
string name;
cin >> name;
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
if (index == -1) {
cout << "查无此书!" << endl;
} else {
for (int i = index; i < abs->length - 1; i++) {
abs->book[i] = abs->book[i + 1];
}
abs->length--;
cout << "删除成功!" << endl;
}
}
// 查找图书
void findBook(Arraybooks *abs) {
cout << "请输入要查找的书名:" << endl;
string name;
cin >> name;
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
if (index == -1) {
cout << "查无此书!" << endl;
} else {
cout << "书名为:" << abs->book[index].name << "\t";
cout << "价格为:" << abs->book[index].price << "\t";
cout << "编号为:" << abs->book[index].number << endl;
}
}
// 修改图书
void modifyBook(Arraybooks *abs) {
cout << "请输入要修改的书名:" << endl;
string name;
cin >> name;
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
if (index == -1) {
cout << "查无此书!" << endl;
} else {
cout << "请输入新的书名:" << endl;
string newName;
cin >> newName;
cout << "请输入新的价格:" << endl;
double newPrice;
cin >> newPrice;
cout << "请输入新的编号:" << endl;
int newNumber;
cin >> newNumber;
abs->book[index].name = newName;
abs->book[index].price = newPrice;
abs->book[index].number = newNumber;
cout << "修改成功!" << endl;
}
}
// 显示图书
void showBooks(Arraybooks *abs) {
if (abs->length == 0) {
cout << "书架为空" << endl;
} else {
for (int i = 0; i < abs->length; ++i) {
cout << "书籍名字 : " << abs->book[i].name << "\t";
cout << "书籍价格 : " << abs->book[i].price << "\t";
cout << "书籍编号 : " << abs->book[i].number << endl;
}
}
}
// 判断图书是否存在
int isExist(Arraybooks *abs, string name) {
int index = -1;
for (int i = 0; i < abs->length; i++) {
if (abs->book[i].name == name) {
index = i;
break;
}
}
return index;
}
int main() {
Arraybooks abs;
initArray(&abs);
while (true) {
cout << "请选择操作:" << endl;
cout << "1.添加图书" << endl;
cout << "2.删除图书" << endl;
cout << "3.查找图书" << endl;
cout << "4.修改图书" << endl;
cout << "5.显示图书" << endl;
cout << "6.退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addBook(&abs);
break;
case 2:
deleteBook(&abs);
break;
case 3:
findBook(&abs);
break;
case 4:
modifyBook(&abs);
break;
case 5:
showBooks(&abs);
break;
case 6:
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
return 0;
}
```