以下是一个简单的图书管理系统的C语言实现示例:

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

#define MAX_BOOKS 100

typedef struct {
    char title[100];
    char author[100];
    int year;
    int available;
} Book;

Book library[MAX_BOOKS];
int bookCount = 0;

void addBook() {
    if (bookCount >= MAX_BOOKS) {
        printf("图书馆已满,无法添加新书。\n");
        return;
    }

    Book newBook;

    printf("请输入书名:");
    scanf("%s", newBook.title);

    printf("请输入作者:");
    scanf("%s", newBook.author);

    printf("请输入出版年份:");
    scanf("%d", &newBook.year);

    newBook.available = 1; // 默认设置为可借阅状态

    library[bookCount] = newBook;
    bookCount++;

    printf("添加书籍成功。\n");
}

void searchBook() {
    char keyword[100];
    printf("请输入要搜索的关键词:");
    scanf("%s", keyword);

    printf("搜索结果:\n");

    int found = 0;

    for (int i = 0; i < bookCount; i++) {
        if (strstr(library[i].title, keyword) || strstr(library[i].author, keyword)) {
            printf("书名:%s\n", library[i].title);
            printf("作者:%s\n", library[i].author);
            printf("出版年份:%d\n", library[i].year);
            printf("可借阅:%s\n", library[i].available ? "是" : "否");
            printf("\n");
            found = 1;
        }
    }

    if (!found) {
        printf("没有找到符合条件的书籍。\n");
    }
}

void borrowBook() {
    char title[100];
    printf("请输入要借阅的书籍名称:");
    scanf("%s", title);

    int found = 0;

    for (int i = 0; i < bookCount; i++) {
        if (strcmp(library[i].title, title) == 0 && library[i].available) {
            library[i].available = 0;
            printf("借阅成功。\n");
            found = 1;
            break;
        }
    }

    if (!found) {
        printf("该书籍不可借阅或不存在。\n");
    }
}

void returnBook() {
    char title[100];
    printf("请输入要归还的书籍名称:");
    scanf("%s", title);

    int found = 0;

    for (int i = 0; i < bookCount; i++) {
        if (strcmp(library[i].title, title) == 0 && !library[i].available) {
            library[i].available = 1;
            printf("归还成功。\n");
            found = 1;
            break;
        }
    }

    if (!found) {
        printf("该书籍不存在或已归还。\n");
    }
}

int main() {
    int choice;

    do {
        printf("欢迎使用图书管理系统\n");
        printf("1. 添加书籍\n");
        printf("2. 搜索书籍\n");
        printf("3. 借阅书籍\n");
        printf("4. 归还书籍\n");
        printf("0. 退出\n");
        printf("请选择操作:");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                addBook();
                break;
            case 2:
                searchBook();
                break;
            case 3:
                borrowBook();
                break;
            case 4:
                returnBook();
                break;
            case 0:
                printf("感谢使用图书管理系统,再见!\n");
                break;
            default:
                printf("无效的选择,请重新输入。\n");
                break;
        }

        printf("\n");
    } while (choice != 0);

    return 0;
}

这个示例实现了以下功能:

  • 添加书籍:用户可以输入书名、作者和出版年份来添加一本新书。
  • 搜索书籍:用户可以输入关键词,系统会搜索图书馆中包含该关键词的书籍,并显示搜索结果。
  • 借阅书籍:用户可以输入要借阅的书籍名称,如果该书籍存在且可借阅,系统会将其标记为不可借阅状态。
  • 归还书籍:用户可以输入要归还的书籍名称,如果该书籍存在且已借阅,系统会将其标记为可借阅状态。

请注意,这只是一个简单的示例,实际的图书管理系统可能需要更复杂的功能和数据存储方式


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

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