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;
}

代码解释:

  1. 结构体 Book:定义一个结构体 Book 来表示一本图书,包含书名 title,作者 author 和出版日期 date
  2. 比较函数 cmp:定义一个比较函数 cmp,用于比较两个 Book 结构体,根据出版日期进行升序比较。
  3. 主函数 main
    • 从键盘输入图书数量 n
    • 使用数组 books 存储 n 本图书信息。
    • 从键盘输入每本图书的信息(书名、作者、出版日期)。
    • 使用 sort 函数对 books 数组进行排序,使用 cmp 函数作为比较函数。
    • 按照排序后的顺序输出每本图书的信息,每本图书一行,包含书名、作者和出版日期。

代码功能:

  • 从键盘输入图书信息。
  • 按出版日期对图书进行排序。
  • 按排序后的顺序输出图书信息。

代码优点:

  • 结构清晰,易于理解。
  • 使用标准库函数 sort 进行排序,方便快捷。

适用场景:

  • 需要对图书信息进行排序的应用场景。
  • 学习 C++ 数据结构和算法的初学者。

改进建议:

  • 可以将图书信息存储在动态分配的内存中,以避免数组大小固定限制。
  • 可以添加其他功能,例如查询图书信息、添加图书等。
  • 可以使用更复杂的排序算法,例如快速排序或归并排序,以提高排序效率。
C++ 图书管理系统:按出版日期排序图书信息

原文地址: https://www.cveoy.top/t/topic/ojJN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录