网站首页 网站地图
网站首页 > 娱乐人生 > 怎么用c语言编程自动售卖机

怎么用c语言编程自动售卖机

时间:2026-03-20 10:39:21

要用C语言编程实现一个自动售卖机,你需要完成以下几个步骤:

系统维护与数据录入

在第一次使用前,你需要进入系统维护模式并录入所有商品信息,包括商品编号、名称、价格和剩余数量。这些信息可以存储在一个文本文件中,以便下次运行时读取。

商品数据结构

定义一个结构体来存储商品信息,包括商品编号、名称、价格和剩余数量。例如:

```c

struct huowu {

int n; // 编号

char name; // 名称

int Price; // 价格

int Maths; // 剩余数量

} s[SIZE];

```

用户交互

编写代码来处理用户输入,包括投币、选择商品和找零。用户可以通过输入商品编号来选择商品,售货机需要判断余额是否足够,并输出相应的信息和找零。

货币处理

实现一个函数来处理用户投入的钱币,并统计总金额。支持的面额可以包括1元、2元、5元和10元。

商品选择与输出

使用一个循环来让用户选择商品,并根据用户的选择从储物柜中取出商品并放到物架上。如果用户选择多个商品,需要依次处理每个商品的购买请求。

找零处理

如果用户投入的钱币足够购买商品,计算并输出找零。如果余额不足,提示用户并退出程序。

主菜单与退出

在主菜单中提供选项让用户选择购买商品或退出程序。退出程序时,需要将用户投入的钱币全部退回。

```c

include

include

include

define SIZE 10

struct huowu {

int n;

char name;

int Price;

int Maths;

} s[SIZE];

void finput() {

FILE *fp;

int i, t, x = 1;

fp = fopen("goods.txt", "r");

if (fp == NULL) {

printf("无法打开文件\n");

return;

}

for (i = 0; i < SIZE; i++) {

fscanf(fp, "%d %s %d %d", &s[i].n, s[i].name, &s[i].Price, &s[i].Maths);

}

fclose(fp);

}

void display_menu() {

printf("\n欢迎进入自动售货机\n");

printf("1. 选择商品\n");

printf("2. 退出\n");

printf("请输入您的选择:");

}

int main() {

int choice, item, num;

float total = 0.0, change;

finput();

while (1) {

display_menu();

scanf("%d", &choice);

if (choice == 1) {

printf("请输入要购买的商品编号:");

scanf("%d", &item);

if (item < 1 || item > SIZE) {

printf("无效的商品编号\n");

continue;

}

if (s[item - 1].Maths <= 0) {

printf("商品已售完\n");

continue;

}

s[item - 1].Maths--;

total += s[item - 1].Price;

printf("您购买了 %s,剩余数量:%d\n", s[item - 1].name, s[item - 1].Maths);

// 这里可以添加找零逻辑

} else if (choice == 2) {

printf("感谢使用,再见!\n");

break;

} else {

printf("无效的选择,请重新输入\n");

}

}

return 0;

}

```

这个示例代码展示了如何读取商品信息、显示菜单、处理用户选择和找零。你可以根据实际需求进一步扩展和完善这个程序。