完善代码void Bmanager::inputBook()//信息录入实现 { cin >> bb; insertBook();//插入到表Book中保存 },实现编号、名称、作者、出版日期、出版社、价格、库存、剩余量、借阅人、性别、电话、借阅证号的信息录入
时间: 2023-09-20 16:06:43 浏览: 55
### 回答1:
好的,您想请教如何完善这段代码。首先,我们可以添加一些输入提示信息,让用户更清楚地知道应该输入什么样的信息。同时,我们需要在输入信息之后进行判断,确保输入的信息符合要求,并进行相应的错误处理。
具体来说,您可以按照以下方式完善代码:
void Bmanager::inputBook() // 信息录入实现
{
Book book; // 定义一个Book类型的对象
// 输入书籍信息,并进行错误处理
cout << "请输入书籍信息:" << endl;
cout << "编号:";
while (!(cin >> book.id)) { // 判断输入是否为数字
cout << "错误:请输入数字编号!" << endl;
cin.clear(); // 清空缓存
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略错误的输入
cout << "编号:";
}
cout << "名称:";
cin >> book.name;
cout << "作者:";
cin >> book.author;
cout << "出版日期(格式:YYYY-MM-DD):";
while (!(cin >> book.pub_date) || !isDateValid(book.pub_date)) { // 判断日期格式是否正确
cout << "错误:请输入正确的日期格式(YYYY-MM-DD)!" << endl;
cin.clear(); // 清空缓存
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略错误的输入
cout << "出版日期(格式:YYYY-MM-DD):";
}
cout << "出版社:";
cin >> book.publisher;
cout << "价格:";
while (!(cin >> book.price)) { // 判断输入是否为数字
cout << "错误:请输入数字价格!" << endl;
cin.clear(); // 清空缓存
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略错误的输入
cout << "价格:";
}
cout << "库存:";
while (!(cin >> book.total_amount) || book.total_amount < 0) { // 判断输入是否为非负整数
cout << "错误:请输入非负整数库存!" << endl;
cin.clear(); // 清空缓存
cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 忽略错误的输入
cout << "库存:";
}
book.borrowed_amount = 0; // 初始时借出量为0
book.borrower = ""; // 初始时借阅人为空
// 输入借阅人信息,并进行错误处理
cout << "请输入借阅人信息(可选):" << endl;
cout << "性别:";
cin >> book.borrower_gender;
cout << "电话:";
cin >> book.borrower_phone;
cout << "借阅证号:";
cin >> book.borrower_card_id;
insertBook(book); // 将图书插入到图书列表中保存
}
其中,isDateValid()函数用于判断输入的日期格式是否正确,可以按照实际情况进行定义。insertBook()函数用于将Book类型的对象插入到图书列表中保存。
### 回答2:
要完善代码,实现包括编号、名称、作者、出版日期、出版社、价格、库存、剩余量、借阅人、性别、电话、借阅证号的信息录入,可以在现有的函数中添加相应的输入语句。
首先,在函数`void Bmanager::inputBook()`中添加适当的输入语句,以便能够依次录入每个信息:
```cpp
void Bmanager::inputBook()
{
// 添加编号的输入语句
cout << "请输入编号:";
cin >> bb.number;
// 添加名称的输入语句
cout << "请输入名称:";
cin >> bb.name;
// 添加作者的输入语句
cout << "请输入作者:";
cin >> bb.author;
// 添加出版日期的输入语句
cout << "请输入出版日期:";
cin >> bb.publishDate;
// 添加出版社的输入语句
cout << "请输入出版社:";
cin >> bb.publisher;
// 添加价格的输入语句
cout << "请输入价格:";
cin >> bb.price;
// 添加库存的输入语句
cout << "请输入库存:";
cin >> bb.stock;
// 添加剩余量的输入语句
cout << "请输入剩余量:";
cin >> bb.remaining;
// 添加借阅人的输入语句
cout << "请输入借阅人:";
cin >> bb.borrower;
// 添加性别的输入语句
cout << "请输入性别:";
cin >> bb.gender;
// 添加电话的输入语句
cout << "请输入电话:";
cin >> bb.phone;
// 添加借阅证号的输入语句
cout << "请输入借阅证号:";
cin >> bb.cardNo;
insertBook(); // 插入到表Book中保存
}
```
有了以上改动,代码中添加了适当的输入语句,就可以依次录入编号、名称、作者、出版日期、出版社、价格、库存、剩余量、借阅人、性别、电话、借阅证号的信息了。
### 回答3:
要实现编号、名称、作者、出版日期、出版社、价格、库存、剩余量、借阅人、性别、电话、借阅证号的信息录入,可以按照以下步骤完善代码:
1. 首先在Bmanager类中添加私有成员变量,用于保存图书的信息。例如:
int number; // 编号
string name; // 名称
string author; // 作者
string date; // 出版日期
string publisher; // 出版社
float price; // 价格
int totalStock; // 总库存量
int remainingStock; // 剩余库存量
string borrower; // 借阅人
string gender; // 性别
string phone; // 电话
string cardNumber; // 借阅证号
2. 在Bmanager类的inputBook函数中,根据以上变量类型,逐个输入图书的各项信息。例如:
cin >> number;
cin >> name;
cin >> author;
cin >> date;
cin >> publisher;
cin >> price;
cin >> totalStock;
cin >> remainingStock;
cin >> borrower;
cin >> gender;
cin >> phone;
cin >> cardNumber;
3. 在inputBook函数中,调用insertBook函数,将录入的图书信息插入到Book表中保存。例如:
insertBook(number, name, author, date, publisher, price, totalStock, remainingStock, borrower, gender, phone, cardNumber);
其中,insertBook函数需要根据参数插入图书信息到表中。