贩卖机用c语言怎么编程

时间:2025-01-28 01:41:52 网络游戏

贩卖机用C语言编程需要实现以下功能:

商品信息管理:

包括商品的编号、名称、价格和库存数量。

用户输入处理:

接收用户投入的钱币和选择购买的商品编号。

金额计算与找零:

计算用户购买商品的总金额,并给出找零。

商品库存管理:

在用户购买商品后,更新商品的库存数量。

数据存储与读取:

将商品信息和交易记录存储在文件中,以便下次使用。

```c

include

include

define N 10

typedef struct {

int num;// 商品编号

char name; // 商品名称

int price; // 商品价格

int stock; // 商品库存

} Sell;

Sell se[N] = {

{1, "Table-water", 1, 10},

{2, "Table-water", 1, 10},

{3, "Table-water", 1, 10},

{4, "Coca-Cola", 2, 5},

{5, "Milk", 2, 5},

{6, "Beer", 3, 3},

{7, "Orange-Juice", 3, 3},

{8, "Sprite", 3, 3},

{9, "Oolong-Tea", 4, 2},

{10, "Green-Tea", 4, 2}

};

int sum = 0; // 总金额

void input_money() {

int coin;

printf("请放入钱币:");

while (1) {

scanf("%d", &coin);

if (coin == -1) break;

sum += coin;

printf("当前金额:%d元\n", sum);

}

}

void select_product(int *selected_items, int *num_items) {

int i, item;

printf("请选择商品(输入编号):");

for (i = 0; i < *num_items; i++) {

scanf("%d", &item);

for (int j = 0; j < *num_items; j++) {

if (item == se[j].num) {

selected_items[j] = 1;

se[j].stock--;

break;

}

}

}

*num_items = 0;

for (i = 0; i < *num_items; i++) {

if (selected_items[i] == 1) {

printf("您选择了:%s\n", se[i].name);

(*num_items)++;

}

}

}

void calculate_change() {

int change = sum - 2 * 10; // 假设最大面额为20元

printf("找零:%d元\n", change);

}

int main() {

int selected_items[N] = {0};

int num_items = 0;

input_money();

select_product(selected_items, &num_items);

calculate_change();

return 0;

}

```

代码说明:

结构体定义:

定义了一个结构体`Sell`来存储商品信息,包括编号、名称、价格和库存。

商品信息:

在`main`函数中初始化了一个包含10种商品的数组`se`。

输入钱币:

`input_money`函数用于接收用户投入的钱币,并更新总金额。

选择商品:

`select_product`函数用于接收用户选择的商品编号,并更新商品库存。

计算找零:

`calculate_change`函数用于计算并输出找零金额。

注意事项:

该示例代码是一个简易版本,实际应用中可能需要更复杂的功能,如商品库存管理、数据存储与读取等。

代码中假设最大面额为20元,可以根据实际需求进行调整。

代码中没有实现商品信息的录入和读取功能,实际应用中需要添加这部分功能。