假设你是一名软件工程师,你需要设计一个在线购物网站。这个网站允许用户浏览和购买各种产品,并能够处理用户的账户信息和订单。请编写一个程序示例,模拟上述场景。该程序能够根据用户选择的物品、单价、数量,计算出总价格。(注意:如果在每个月的第一天购物,可以进行9折优惠哦)(用C++语言)
时间: 2024-09-25 19:07:49 浏览: 21
作为软件工程师,我们可以使用C++设计一个简单的购物车类(ShoppingCart),它包含商品列表,总价以及折扣检查的功能。下面是一个基本的伪代码示例:
```cpp
#include <iostream>
#include <vector>
#include <string>
class Product {
public:
std::string name;
double price;
// 构造函数
Product(const std::string& name, double price)
: name(name), price(price) {}
};
class ShoppingCart {
private:
std::vector<Product> products;
bool isDiscountDay; // 初始默认非折扣日
public:
void addProduct(Product product) {
products.push_back(product);
}
double calculateTotalPrice() const {
double totalPrice = 0.0;
for (const auto& product : products) {
totalPrice += product.price * product.quantity;
}
if (isDiscountDay && products.size() > 0) { // 如果是折扣日并且有商品
return totalPrice * 0.9; // 打9折
} else {
return totalPrice;
}
}
// 检查是否为每月第一天
void checkMonthlyDiscount() {
isDiscountDay = true; // 设置本月为折扣日,实际应用中需要日期判断
std::cout << "本月开始享受9折优惠!" << std::endl;
}
};
int main() {
ShoppingCart cart;
Product apple("苹果", 5.00);
cart.addProduct(apple); // 添加商品
// 模拟用户选择商品和数量
int quantity;
std::cout << "请输入您想要购买的商品数量:";
std::cin >> quantity;
cart.products[0].quantity = quantity;
// 用户操作
cart.checkMonthlyDiscount(); // 查看是否在折扣期
double totalPrice = cart.calculateTotalPrice();
std::cout << "您的总价格是:" << totalPrice << "元。\n";
return 0;
}
```
在这个例子中,我们首先创建了一个`Product`类代表商品,然后定义了`ShoppingCart`类负责管理商品和折扣逻辑。`main`函数中展示了如何添加商品、检查折扣并计算总价。
阅读全文