用c++代码写商家促销某商品一件单价100元,2到5件单价90元,6到10件单价85元,11件及以上单价80元。客户购买n件,需要支付多少钱?
时间: 2023-05-16 16:05:37 浏览: 129
以下是用 C 代码实现商家促销某商品的价格计算:
```c
#include <stdio.h>
int main() {
int n; // 购买的件数
int price; // 单价
int total; // 总价
printf("请输入购买的件数:");
scanf("%d", &n);
if (n == 1) {
price = 100;
} else if (n >= 2 && n <= 5) {
price = 90;
} else if (n >= 6 && n <= 10) {
price = 85;
} else {
price = 80;
}
total = n * price;
printf("您购买了 %d 件商品,需要支付 %d 元。\n", n, total);
return 0;
}
```
如果客户购买 1 件商品,需要支付 100 元;如果购买 2 到 5 件商品,每件商品单价为 90 元,需要支付的总价为 90n 元;如果购买 6 到 10 件商品,每件商品单价为 85 元,需要支付的总价为 85n 元;如果购买 11 件及以上商品,每件商品单价为 80 元,需要支付的总价为 80n 元。
相关问题
c++妈妈给了小明n元,给小明同学去面包店买糕点吃,小明非常喜欢吃切片面包和蛋挞,今天切片面包x元一件(一包),蛋挞y元一件(一盒);小明想花光n元买这两样糕点,而且每样都至少买一件,请问,小明可以采购的方案中,能够买最多面包的方案是什么? 比如,100元,面包15元/件,蛋挞10元/件,那么可行的购买方案有: 2件面包 7件蛋挞 4件面包 4件蛋挞 6件面包 1件蛋挞 而上述方案中,面包最多的购买方案是:6件面包 1件蛋挞,因此输出:6 1 输入 三个变量:n x y,分别代表总金额,面包的单价和蛋挞的单价!(1<=n<=1000,1<=x,y<=100) 输出 两个数,分别代表采购方案中能够买到最多面包的件数和蛋挞的件数! 样例输入 复制 100 15 10
以下是C++的代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, x, y;
cin >> n >> x >> y;
int max_bread = 0, max_a = 0;
for (int a = 1; a <= n / x; a++) {
int b = (n - x * a) / y;
if (b >= 1 && x * a + y * b <= n && x * (a - 1) + y * (b + 1) <= n) {
if (a > max_a) {
max_a = a;
max_bread = b;
}
}
}
cout << max_a << " " << max_bread << endl;
return 0;
}
```
首先输入总金额 $n$,切片面包单价 $x$ 和蛋挞单价 $y$。然后从 $1$ 到 $\lfloor\frac{n}{x}\rfloor$ 枚举 $a$,计算出 $b$ 的最大值,判断是否满足条件 1 和条件 2。如果满足条件,则更新最大面包数和对应的 $a$ 值。
最后输出最大的 $a$ 值和对应的 $b$ 值即可。
C++设计一个程序实现以下功能。 商店销售某一商品。允许销售人员在销售时灵活掌握售价(price),现已知当天3名销售员的销售情况为: 销售员号(num)销售件数(quantity)销售单价(price)成本价101523.522元1021224.5610310021.5 请编写程序,计算出当日此商品的总销售件数sum以及每件商品的平均售价。 改进:如果发现构造销售人员对象的时候,销售单价低于成本价,抛出异常,提醒。 要求,自定义价格异常类,继承于exception类,该类有一个单价亏损的数据成员(表示平均售价低于成本价多少元),what函数打印单价亏损值,返回错误情况
下面是一个实现以上功能的C++程序:
```cpp
#include <iostream>
#include <vector>
#include <exception>
// 自定义异常类
class PriceException : public std::exception {
public:
PriceException(double loss) : loss(loss) {}
const char* what() const noexcept override {
return "Average price is lower than cost price!";
}
double getLoss() const {
return loss;
}
private:
double loss;
};
// 销售员类
class Salesperson {
public:
Salesperson(int num, int quantity, double price) : num(num), quantity(quantity), price(price) {
// 如果价格低于成本价,抛出异常
if (price < costPrice) {
throw PriceException(costPrice - price);
}
}
int getQuantity() const {
return quantity;
}
double getPrice() const {
return price;
}
private:
int num;
int quantity;
double price;
static const double costPrice; // 成本价
};
const double Salesperson::costPrice = 100.0; // 设置成本价
int main() {
std::vector<Salesperson> salespeople;
try {
salespeople.push_back(Salesperson(101, 15, 120.5));
salespeople.push_back(Salesperson(102, 20, 110.0));
salespeople.push_back(Salesperson(103, 10, 130.0));
} catch (const PriceException& e) {
std::cerr << "Exception caught: " << e.what() << std::endl;
std::cerr << "Loss in price: " << e.getLoss() << " yuan" << std::endl;
return 1;
}
int sum = 0;
double totalAmount = 0.0;
for (const auto& salesperson : salespeople) {
sum += salesperson.getQuantity();
totalAmount += salesperson.getQuantity() * salesperson.getPrice();
}
double averagePrice = totalAmount / sum;
std::cout << "Total quantity sold: " << sum << std::endl;
std::cout << "Average price per unit: " << averagePrice << std::endl;
return 0;
}
```
在上述代码中,我们定义了一个Salesperson类来表示销售员,其中包含销售员编号、销售件数和销售单价等属性。在Salesperson类的构造函数中,我们检查销售单价是否低于成本价,如果是则抛出自定义的PriceException异常。
程序中使用了一个vector来存储销售员的信息,通过push_back()方法添加销售员对象。如果有异常抛出,我们在catch块中捕获异常并输出相关信息。
最后,我们遍历销售员对象的vector,计算总销售件数和总销售金额,然后根据总销售金额和总销售件数计算平均售价,并输出结果。
如果有销售员的平均售价低于成本价,程序会抛出PriceException异常,并打印出单价亏损值。
阅读全文