Project

General

Profile

Actions

text_question #16005

open

pod_templa desc=定义图书类 answer_id= name=图书管理系

Added by UserName LastName 11 months ago. Updated 11 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
03/11/2025
Due date:
% Done:

0%

Estimated time:
name:
图书管理系统OOP
score:
100.0
topic_type:

编程题
...

tag:
desc:

'## 定义图书类 Book,图书信息包含:

- 编号: bid

- 书名: name

- 价格: price

- 简介: summary

## 实现构造方法及对象描述方法

- __init__ : 初始化方法,接收对应参数初始化对象属性

- __str__ : 实现对象描述方法,输出图书信息

## 定义管理类 BookManagement,用来实现整体业务逻辑。

- 使用列表做为属性保存图书对象信息

- 定义 manager 方法管理业务逻辑

## 对用户输入内容进行输入校验

- 根据用户输入内容选择不同功能执行

- 实现菜单方法 __menu,输出下列菜单信息,并返回用户输入的编号

```

print("*****************************")

print("* 图书管理系统 *")

print("* 1. 添加新图书信息 *")

print("* 2. 通过编号修改图书信息 *")

print("* 3. 通过编号删除图书信息 *")

print("* 4. 通过书名删除图书信息 *")

print("* 5. 通过编号查询图书信息 *")

print("* 6. 通过书名查询图书信息 *")

print("* 7. 显示所有图书信息 *")

print("* 8. 退出系统 *")

print("*****************************")

```

## 因程序中需要多次对编号及书名进行输入,故抽取方法获取对应的数据。

- 获取编号方法 __get_bid, 输入编号并返回(字符串类型)eg. b01

- 获取书名方法 __get_name, 输入书名并返回(字符串类型)

- 获取书名方法 __get_price, 输入价格并返回(整型)

- 获取书名方法 __get_summary, 输入简介并返回(字符串类型)

## 实现添加图书方法 add_book

- 方法参数为 编号,书名,价格,简介四个参数

- 输出添加操作的结果提示信息

- 返回对应结果信息

- 要求编号不可重复。

## 实现通过编号修改图书信息方法 modify_book_by_id

- 参数为 编号

- 如果图书存在,则进行修改,不存在输出提示信息

- 返回是否修改成功

## 实现通过编号删除图书方法 delete_book_by_id

- 参数为 编号

- 如果图书存在,则进行删除并输出提示信息,不存在则仅输出提示

- 返回是否删除成功

## 实现通过书名删除图书方法 delete_book_by_name

- 参数为 书名

- 如果图书存在,则进行删除(同名图书全部删除)并输出提示信息,不存在则仅输出提示

- 返回是否删除成功

## 实现通过编号查询图书方法 query_book_by_id

- 参数为 编号

- 如果图书存在,则输出图书信息,不存在输出提示信息

- 返回是否查询成功

## 实现通过书名查询图书方法 query_book_by_name

- 参数为 书名

- 如果图书存在,则输出图书信息(同名图书全部输出),不存在输出提示信息

- 返回是否查询成功

## 实现显示所有图书信息方法 show

- 输出所有图书信息

## 实现数据存储方法save_data

- 在退出系统时,将数据保存到 data.txt 文件中

- 数据保存格式自定义

## 实现数据加载方法load_data

- 如果数据文件 data.txt 存在,则从文件中加载数据

- 如果文件不存在则初始为空'

is_delete:
false
answer_id:
16004
tags:

- 11052

grading_rules_id:
16226
pod_template_id:
11364
Actions

Also available in: Atom PDF