C语言编程实现自动售货机:现有五种商品:可乐5元
时间: 2024-09-21 09:12:57 浏览: 72
在C语言中实现一个简单的自动售货机模拟,我们可以创建一个程序结构,包括用户交互、商品库存管理和货币处理等功能。下面是一个基础的示例:
```c
#include <stdio.h>
// 定义商品信息
typedef struct {
char name[20];
int price;
} Product;
// 商品列表
Product products[] = {
{"可乐", 5},
// 可以添加更多商品
};
int main() {
// 初始化商品库存
int stock = sizeof(products) / sizeof(products[0]);
while (true) {
printf("\n请输入购买的商品名(退出请输入'q'):");
getchar(); // 清除前一个输入字符
char input[20];
fgets(input, sizeof(input), stdin);
input[strlen(input) - 1] = '\0'; // 去除换行符
if (strcmp(input, "q") == 0) {
break; // 用户选择退出
}
for (int i = 0; i < stock; ++i) {
if (strcmp(products[i].name, input) == 0) {
printf("购买 %s,价格 %.0f 元,请投入对应金额:\n", products[i].name, products[i].price);
// 这里可以添加实际接收硬币的函数,这里仅作展示
int money_received = get_money_from_user();
if (money_received >= products[i].price) {
printf("交易成功,找零 %.0f 元。\n", money_received - products[i].price);
} else {
printf("余额不足,请投入%.0f元。\n", products[i].price - money_received);
}
break;
}
}
}
return 0;
}
// 模拟从用户获取货币的函数,这里仅简单返回一个值
int get_money_from_user() {
int money = 0; // 根据实际情况填充这个函数
// 实现获取硬币并验证的过程
return money;
}
```
阅读全文