用c++构建一个类book,其中含有两个私有数据成员qu和price,将qu初始化为1~5,将price初始化为qu的10倍,建立一个有5个元素的数组对象,显示每个对象数组元素的qu*price值,求出教材平均值和最贵教材
时间: 2024-05-05 21:22:16 浏览: 149
以下是实现类book的代码:
```c++
#include <iostream>
class book {
private:
int qu; // 数量
int price; // 价格
public:
book() { // 构造函数
qu = rand() % 5 + 1; // 随机生成数量
price = qu * 10; // 根据数量计算价格
}
int get_qu() const { return qu; } // 获取数量
int get_price() const { return price; } // 获取价格
};
int main() {
book books[5]; // 定义5个book对象的数组
int total_price = 0; // 总价格
int max_price = 0; // 最大价格
for (int i = 0; i < 5; i++) {
int price = books[i].get_qu() * books[i].get_price(); // 计算qu*price
std::cout << "book #" << i+1 << " price: " << price << std::endl;
total_price += price; // 累加总价格
if (price > max_price) { // 更新最大价格
max_price = price;
}
}
double avg_price = (double)total_price / 5; // 计算平均价格
std::cout << "avg price: " << avg_price << std::endl;
std::cout << "most expensive book price: " << max_price << std::endl;
return 0;
}
```
上述代码中,我们在类book的构造函数中随机生成数量qu,并根据数量计算价格price。在main函数中,我们定义了一个有5个元素的book对象数组books,并逐个计算每个对象的qu*price值并输出。最后,我们累加所有教材的价格,计算平均价格和最贵教材的价格并输出。
阅读全文