售货计费程序的编程可以根据具体需求进行设计,但基本思路是相似的。以下是一个简单的售货计费程序示例,使用C语言编写:
```c
include
define MAX_PRODUCTS 4
typedef struct {
char name;
double price;
int quantity;
} Product;
double calculateTotal(Product products[], int count) {
double total = 0.0;
for (int i = 0; i < count; i++) {
total += products[i].price * products[i].quantity;
}
return total;
}
int main() {
Product products[MAX_PRODUCTS] = {
{"苹果", 2.5, 0},
{"鸭梨", 1.8, 0},
{"香蕉", 2.0, 0},
{"橘子", 1.6, 0}
};
int count = 0;
double total = 0.0;
double money;
printf("请输入水果重量苹果 鸭梨 香蕉 橘子 (不买的水果请输入0): \n");
for (int i = 0; i < MAX_PRODUCTS; i++) {
scanf("%lf", &products[i].quantity);
if (products[i].quantity > 0) {
count++;
}
}
if (count > 0) {
total = calculateTotal(products, count);
printf("应付钱 %.2f 元\n", total);
printf("请输入付款数:");
scanf("%lf", &money);
double change = money - total;
printf("应找钱 %.2f 元\n", change);
} else {
printf("没有购买任何水果。\n");
}
return 0;
}
```
代码说明:
定义结构体 :`Product` 结构体用于存储水果的名称、单价和数量。计算总价:
`calculateTotal` 函数用于计算所有购买水果的总价。
主函数
初始化水果数组 `products`,每个水果的初始数量为0。
通过循环读取用户输入的水果数量,如果数量大于0,则增加计数器 `count`。
如果购买了水果,计算总价并输出应付金额和应找零。
如果没有购买任何水果,输出提示信息。
建议:
扩展性:
可以将水果种类和数量存储在文件中,通过加载和保存文件来实现程序的持久化。
用户界面:
可以设计一个更友好的用户界面,例如使用菜单选项来选择不同的操作。
错误处理:
增加更多的错误处理,例如检查输入是否合法,处理文件操作错误等。
希望这个示例对你有所帮助!如果有更多具体需求或需要更复杂的实现,请提供更多细节。