c语言超市系统流水信息怎么做
时间: 2023-12-15 08:03:58 浏览: 21
可以使用结构体来存储超市系统的流水信息,具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ITEMS 1000 // 超市商品数量的最大值
// 商品结构体
struct item {
char name[20]; // 商品名称
int price; // 商品价格
int quantity; // 商品数量
};
// 流水结构体
struct record {
char date[11]; // 日期
char time[6]; // 时间
struct item items[10]; // 购买的商品
int num_items; // 购买的商品数量
int total_price; // 总价
};
int main() {
struct record records[MAX_ITEMS]; // 存储所有的流水记录
int num_records = 0; // 当前流水记录的数量
// 添加一条流水记录
strcpy(records[num_records].date, "2022-01-01");
strcpy(records[num_records].time, "12:30");
strcpy(records[num_records].items[0].name, "可乐");
records[num_records].items[0].price = 2;
records[num_records].items[0].quantity = 3;
records[num_records].num_items = 1;
records[num_records].total_price = 6;
num_records++;
// 输出所有流水记录
for (int i = 0; i < num_records; i++) {
printf("日期:%s,时间:%s,购买商品:", records[i].date, records[i].time);
for (int j = 0; j < records[i].num_items; j++) {
printf("%s %d元 × %d个,", records[i].items[j].name, records[i].items[j].price, records[i].items[j].quantity);
}
printf("总价:%d元\n", records[i].total_price);
}
return 0;
}
```
在上述代码中,我们定义了两个结构体:`item` 和 `record`。其中,`item` 结构体表示一个商品,包括名称、价格和数量三个属性;`record` 结构体表示一条流水记录,包括日期、时间、购买的商品、商品数量和总价等属性。我们使用一个数组 `records` 来存储所有的流水记录,每次添加一条记录时,都将其存储到 `records` 数组的末尾,并将 `num_records` 加 1。
在主函数中,我们添加了一条流水记录,并输出所有的流水记录。输出时,我们遍历了 `records` 数组,并逐个输出每条记录的日期、时间、购买的商品、商品数量和总价等属性。