使用 C++ 开发简单的图书管理系统

本教程将引导您使用 C++ 开发一个简单的图书管理系统,主要功能是输入图书信息,并按出版日期升序排序。

数据结构设计

首先,我们需要定义一个结构体来表示每本图书的信息。结构体 Book 包含三个成员:

  • name: 书名,字符串类型
  • author: 作者,字符串类型
  • date: 出版日期,字符串类型,格式为 YYYY-MM-DD
struct Book {
    string name;
    string author;
    string date;
};

排序算法

为了按出版日期排序图书,我们需要使用一个比较函数 cmp,该函数比较两个 Book 结构体的 date 成员。如果 b1.date 小于 b2.date,则返回 true,表示 b1 应该排在 b2 之前。

bool cmp(Book b1, Book b2) {
    return b1.date < b2.date;
}

代码实现

以下是完整的 C++ 代码,演示了如何输入图书信息、排序图书并输出排序结果:

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

struct Book {
    string name;
    string author;
    string date;
};

bool cmp(Book b1, Book b2) {
    return b1.date < b2.date;
}

int main() {
    int n;
    cin >> n;
    Book books[n];
    for (int i = 0; i < n; i++) {
        cin >> books[i].name >> books[i].author >> books[i].date;
    }
    sort(books, books + n, cmp);
    for (int i = 0; i < n; i++) {
        cout << books[i].name << ' ' << books[i].author << ' ' << books[i].date << endl;
    }
    return 0;
}

代码解释

  1. 输入图书数量: 首先,程序从键盘输入一个整数 n,表示图书的数量。
  2. 定义图书数组: 然后,定义一个 Book 结构体数组 books,大小为 n,用于存储所有图书的信息。
  3. 输入图书信息: 循环输入每本图书的 nameauthordate 信息,并将其存储到 books 数组中。
  4. 排序图书: 使用 sort 函数对 books 数组进行排序,排序规则由 cmp 函数定义,即按出版日期升序排序。
  5. 输出排序结果: 最后,循环输出排序后的 books 数组中每本图书的信息,包括 nameauthordate

本教程展示了如何使用 C++ 开发一个简单的图书管理系统,通过结构体和排序算法来实现图书信息的存储和排序。您可以在此基础上进一步添加其他功能,例如搜索、删除、修改图书信息等。

C++ 图书管理系统:使用结构体和排序算法按出版日期排序图书

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

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