C++ 图书管理系统:按出版日期排序图书信息
C++ 图书管理系统:按出版日期排序图书信息
本代码使用 C++ 实现了一个简单的图书管理系统,能够从键盘输入多本图书的信息,包括书名、作者和出版日期,并按出版日期升序排序输出。
代码实现如下:
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
struct Book {
string title;
string author;
string date;
};
bool cmp(Book& a, Book& b) {
return a.date < b.date;
}
int main() {
int n;
cin >> n;
Book books[n];
for (int i = 0; i < n; i++) {
cin >> books[i].title >> books[i].author >> books[i].date;
}
sort(books, books + n, cmp);
for (int i = 0; i < n; i++) {
cout << books[i].title << ' ' << books[i].author << ' ' << books[i].date << endl;
}
return 0;
}
代码解释:
- 结构体
Book:定义一个结构体Book来表示一本图书,包含书名title,作者author和出版日期date。 - 比较函数
cmp:定义一个比较函数cmp,用于比较两个Book结构体,根据出版日期进行升序比较。 - 主函数
main:- 从键盘输入图书数量
n。 - 使用数组
books存储n本图书信息。 - 从键盘输入每本图书的信息(书名、作者、出版日期)。
- 使用
sort函数对books数组进行排序,使用cmp函数作为比较函数。 - 按照排序后的顺序输出每本图书的信息,每本图书一行,包含书名、作者和出版日期。
- 从键盘输入图书数量
代码功能:
- 从键盘输入图书信息。
- 按出版日期对图书进行排序。
- 按排序后的顺序输出图书信息。
代码优点:
- 结构清晰,易于理解。
- 使用标准库函数
sort进行排序,方便快捷。
适用场景:
- 需要对图书信息进行排序的应用场景。
- 学习 C++ 数据结构和算法的初学者。
改进建议:
- 可以将图书信息存储在动态分配的内存中,以避免数组大小固定限制。
- 可以添加其他功能,例如查询图书信息、添加图书等。
- 可以使用更复杂的排序算法,例如快速排序或归并排序,以提高排序效率。
原文地址: https://www.cveoy.top/t/topic/ojJN 著作权归作者所有。请勿转载和采集!