C语言图书管理系统:按出版日期排序图书信息

本示例展示如何使用 C 语言开发一个简单的图书管理系统,实现按出版日期升序排列图书信息的功能。

代码示例

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_BOOK_NUM 100 //最大图书数量
#define MAX_NAME_LEN 100 //书名最大长度
#define MAX_AUTHOR_LEN 100 //作者最大长度
#define MAX_DATE_LEN 11 //日期字符串最大长度

//定义图书结构体
typedef struct _book {
    char name[MAX_NAME_LEN];
    char author[MAX_AUTHOR_LEN];
    char date[MAX_DATE_LEN];
} Book;

//比较函数,用于qsort排序
int cmp(const void* a, const void* b) {
    Book* book_a = (Book*)a;
    Book* book_b = (Book*)b;
    return strcmp(book_a->date, book_b->date);
}

int main() {
    int n;
    Book books[MAX_BOOK_NUM];
    scanf('%d', &n);
    for (int i = 0; i < n; i++) {
        scanf('%s %s %s', books[i].name, books[i].author, books[i].date);
    }
    qsort(books, n, sizeof(Book), cmp);
    for (int i = 0; i < n; i++) {
        printf('%s %s %s\n', books[i].name, books[i].author, books[i].date);
    }
    return 0;
}

代码解析

  1. 数据结构定义: 使用 Book 结构体来存储图书信息,包括书名 (name)、作者 (author) 和出版日期 (date)。
  2. 排序函数: cmp 函数用于比较两个图书的出版日期,并返回一个整数,用于指示排序顺序。
  3. 输入处理: 从键盘输入图书数量 n 和每本书的信息,并将信息存储到 books 数组中。
  4. 排序: 使用 qsort 函数对 books 数组进行排序,排序依据为 cmp 函数的返回值。
  5. 输出结果: 按排序后的顺序输出每本书的信息。

总结

本示例展示了使用 C 语言实现一个简单图书管理系统,并使用 qsort 函数进行排序,以达到按出版日期升序排列图书信息的最终目的。

C语言图书管理系统:按出版日期排序图书信息

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

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