def return_book(book_id: int, user_id: int, return_date: str, borrow_file: str, book_file: str) -> bool: """ 通过文件实现还书功能的函数 :param book_id: int, 图书ID :param user_id: int, 用户ID :param return_date: str, 归还日期,格式为yyyy-mm-dd :param borrow_file: str, 借阅记录文件名 :param book_file: str, 图书信息文件名 :return: bool, 是否还书成功 """ # 先查询该用户是否借阅了该图书 borrow_records = select_borrow_records(book_id=book_id, user_id=user_id, borrow_file=borrow_file) if not borrow_records: print("该用户未借阅该图书!") return False # 更新借阅记录的归还日期和状态 for borrow_record in borrow_records: if borrow_record['status'] == "已归还": print("该借阅记录已归还!") return False borrow_record['return_date'] = return_date borrow_record['status'] = "已归还" update_borrow_record(borrow_record, borrow_file) # 更新图书的库存数 book = select_book(book_id, book_file) if book: book['stock'] += len(borrow_records) update_book(book, book_file) return True
时间: 2024-03-18 19:46:01 浏览: 233
book_borrow_system.zip_Book 2_book borrow_book_borrow system_图书借
这是一个实现还书功能的函数,它接收四个参数:book_id(图书ID)、user_id(用户ID)、return_date(归还日期,格式为yyyy-mm-dd)、borrow_file(借阅记录文件名)和book_file(图书信息文件名)。它的返回值是一个布尔值,表示是否还书成功。
函数的实现过程如下:
1. 首先,函数会调用select_borrow_records函数查询该用户是否借阅了该图书,如果没有,则函数返回False,表示该用户未借阅该图书。
2. 接下来,函数会遍历查询到的借阅记录,如果该借阅记录已经归还,则函数返回False,表示该借阅记录已归还。否则,函数会更新该借阅记录的归还日期和状态,并调用update_borrow_record函数更新借阅记录文件。
3. 最后,函数会调用select_book函数查询该图书信息,更新库存数,并调用update_book函数更新图书信息文件。
4. 函数返回True,表示还书成功。
阅读全文