用dev c++创建一个图书信息系统,图书信息包括书号,书明和价格,要求创建一个按照书号进行排序的有序的单链表,并能够输出 图书的信息。也可做图书信息的查找,给定一个书名,查找该书的价格,书号。
时间: 2024-12-18 20:32:29 浏览: 8
在Dev C++中创建一个图书信息系统,你可以使用C++的基本数据结构,如链表和结构体,来实现这个功能。首先,我们需要定义一个包含书号、书名和价格的数据结构:
```cpp
#include <iostream>
using namespace std;
struct Book {
int bookID;
string title;
double price;
};
```
接着,我们可以创建一个单链表节点,用于存储图书信息,并提供插入、删除和查找的功能:
```cpp
class LibraryList {
private:
struct Node {
Book book;
Node* next;
};
Node* head;
public:
// 构造函数和析构函数
LibraryList() : head(nullptr) {}
~LibraryList();
// 插入图书
void insert(Book book);
// 按照书号排序并打印列表
void display();
// 查找特定书名的价格和书号
bool searchBook(string title, int& bookID, double& price);
};
// 实现链表相关的函数
...
```
接下来,我们实现`insert()`函数来插入新的图书,`display()`函数来按书号排序并显示图书信息,以及`searchBook()`函数来进行图书查找:
```cpp
// 实现函数
void LibraryList::insert(Book book) {
// 添加新节点到链表头部
if (head == nullptr) {
head = new Node{book, nullptr};
} else {
Node* newNode = new Node{book, head};
while (newNode->next != nullptr && newNode->book.bookID < head->book.bookID) {
head = head->next;
}
newNode->next = head;
}
}
void LibraryList::display() {
Node* current = head;
if (current != nullptr) {
do {
cout << "书号: " << current->book.bookID << ", 书名: " << current->book.title << ", 价格: " << current->book.price << endl;
current = current->next;
} while (current != nullptr);
}
}
bool LibraryList::searchBook(string title, int& bookID, double& price) {
Node* current = head;
while (current != nullptr) {
if (current->book.title == title) {
bookID = current->book.bookID;
price = current->book.price;
return true; // 找到了匹配的书
}
current = current-1;
price = -1;
return false;
}
```
现在,你可以创建一个`LibraryList`对象,然后通过上述函数添加图书、排序并查询图书信息了。
阅读全文