void borrowBook() {
    char bookCode[20];
    printf('请输入要借阅的图书编号:');
    scanf('%s', bookCode);

    if (head == NULL) {
        printf('没有找到相关图书!\n');
        return;
    }

    BookNode *current = head;
    while (current != NULL) {
        if (strcmp(current->bookCode, bookCode) == 0) {
            if (current->borrowed) {
                printf('该图书已借出!\n');
            } else {
                current->borrowed = 1;
                printf('借阅成功!\n');
            }
            return;
        }
        current = current->next;
    }

    printf('没有找到相关图书!\n');
}

void returnBook() {
    char bookCode[20];
    printf('请输入要归还的图书编号:');
    scanf('%s', bookCode);

    if (head == NULL) {
        printf('没有找到相关图书!\n');
        return;
    }

    BookNode *current = head;
    while (current != NULL) {
        if (strcmp(current->bookCode, bookCode) == 0) {
            if (current->borrowed) {
                current->borrowed = 0;
                printf('归还成功!\n');
            } else {
                printf('该图书未借出!\n');
            }
            return;
        }
        current = current->next;
    }

    printf('没有找到相关图书!\n');
}

void displayBook() {
    if (head == NULL) {
        printf('图书列表为空!\n');
        return;
    }

    BookNode *current = head;
    while (current != NULL) {
        printf('图书编号:%s\n', current->bookCode);
        printf('书名:%s\n', current->bookName);
        printf('作者:%s\n', current->author);
        printf('出版社:%s\n', current->publisher);
        printf('图书种类:%s\n', current->bookkind);
        printf('图书种类编号:%s\n', current->bookkinds);
        printf('价格:%d\n', current->quantity);
        printf('借阅状态:%s\n', current->borrowed ? '已借出' : '未借出');
        printf('\n');

        if (current->next != NULL) {
            printf('\n');
        }

        current = current->next;
    }
}

void freeBookList() {
    BookNode *current = head;
    while (current != NULL) {
        BookNode *temp = current;
        current = current->next;
        free(temp);
    }
    head = NULL;
}

int main() {
    loadBookData();

    while (1) {
        printf('*****欢迎使用图书管理系统*****\n');
        printf('1. 添加图书信息\n');
        printf('2. 删除图书信息\n');
        printf('3. 修改图书信息\n');
        printf('4. 查找图书信息\n');
        printf('5. 借阅图书\n');
        printf('6. 归还图书\n');
        printf('7. 显示图书信息\n');
        printf('0. 退出程序\n');
        printf('请输入您的选择:');

        int choice;
        scanf('%d', &choice);

        switch (choice) {
            case 1:
                addBook();
                break;
            case 2:
                deleteBook();
                break;
            case 3:
                modifyBook();
                break;
            case 4:
                searchBook();
                break;
            case 5:
                borrowBook();
                break;
            case 6:
                returnBook();
                break;
            case 7:
                 displayBook();
                break;
            case 0:
                saveBookData();
                freeBookList();
                printf('感谢使用图书管理系统,再见!\n');
                return 0;
            default:
                printf('无效的选择,请重新输入!\n');
        }
    
	}
	}
C语言图书管理系统代码示例:借阅、归还、显示图书信息

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

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