基于线性表的图书信息管理,定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据完成图书信息表的创建,然后计算所有图书的平均价格,将所有低于平均价格的图书价格提高20%,所有高于或等于平均价格的图书价格提高10%,最后逐行输出价格修改后的图书信息
时间: 2024-11-27 10:08:42 浏览: 23
基于线性表的图书信息管理,你可以定义一个简单的结构体或类,比如在C++中可以这样设计:
```cpp
struct BookInfo {
int bookId;
string title;
double price;
};
```
首先,你需要创建一个BookInfo类型的动态数组或者列表,用于存储所有的图书信息。接着,通过循环读取用户输入的书号、书名和价格,将其添加到这个线性表中。
```cpp
std::vector<BookInfo> library;
// 读取并添加图书信息
while (true) {
BookInfo book;
std::cin >> book.bookId >> book.title >> book.price;
if (book.price < 0) break; // 输入结束标志
library.push_back(book);
}
// 计算平均价格
double averagePrice = 0.0;
for (const auto& book : library) {
averagePrice += book.price;
}
averagePrice /= library.size();
// 修改价格
for (auto& book : library) {
if (book.price < averagePrice) {
book.price *= 1.2; // 提高20%
} else {
book.price *= 1.1; // 提高10%
}
}
```
最后,遍历并打印修改后的图书信息:
```cpp
for (const auto& book : library) {
std::cout << "Book ID: " << book.bookId << ", Title: " << book.title << ", New Price: " << book.price << "\n";
}
```
阅读全文