如何使用C语言实现一个分支结构的程序,该程序根据用户输入判断其是否为会员以及购物金额,然后计算并输出相应的折扣后实际支付的价格?请提供详细的步骤和可能用到的关键语句示例。
时间: 2024-10-15 17:14:43 浏览: 25
在C语言中,你可以使用if-else语句或switch-case语句来实现分支结构,根据用户的输入条件进行相应的处理。下面是一个简单的例子,假设我们有三种情况:普通用户、银卡会员和金卡会员,他们有不同的折扣率:
```c
#include <stdio.h>
// 定义会员级别和对应的折扣率
enum MemberLevel {
MEMBER_NONE = 0,
MEMBER SILVER = 5, // 例如银卡5%折扣
MEMBER GOLD = 10 // 例如金卡10%折扣
};
// 计算折扣后的价格
double calculateDiscountedPrice(double originalPrice, enum MemberLevel memberLevel) {
double discountRate = 0;
switch (memberLevel) {
case MEMBER_SILVER:
discountRate = 0.05; // 5%
break;
case MEMBER_GOLD:
discountRate = 0.10; // 10%
break;
default:
discountRate = 0; // 普通用户无折扣
}
return originalPrice * (1 - discountRate);
}
int main() {
double shoppingAmount;
int isMember;
printf("请输入您的购物金额:");
scanf("%lf", &shoppingAmount);
printf("请输入您的会员等级(0表示非会员,1表示银卡,2表示金卡):");
scanf("%d", &isMember);
if (isMember == 1 || isMember == 2) { // 判断是否为会员
enum MemberLevel memberLevel = isMember == 1 ? MEMBER_SILVER : MEMBER_GOLD;
double discountedPrice = calculateDiscountedPrice(shoppingAmount, memberLevel);
printf("您的折扣后价格为:%.2f\n", discountedPrice);
} else {
printf("您不是会员,折扣后价格为原价:%.2f\n", shoppingAmount);
}
return 0;
}
```
在这个程序中,`calculateDiscountedPrice`函数根据用户输入的会员级别计算折扣后价格,主函数则通过输入获取用户信息,并根据条件输出折扣后的价格。
阅读全文