用c++写一个超市计费系统
时间: 2023-05-25 17:01:35 浏览: 65
A:
以下是一个用C语言写的简单超市计费系统的示例:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int id; // 商品编号
char name[20]; // 商品名称
float price; // 商品单价
} commodity;
int main() {
int n; // 商品数量
float total_price = 0; // 总价
printf("请输入商品数量:");
scanf("%d", &n);
// 读取商品信息
commodity *commodities = malloc(n * sizeof(commodity));
for (int i = 0; i < n; i++) {
printf("请输入第%d个商品编号、名称和单价,用空格分隔:", i+1);
scanf("%d %s %f", &commodities[i].id, commodities[i].name, &commodities[i].price);
}
// 显示商品列表
printf("商品列表:\n");
printf("编号\t名称\t单价\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%.2f\n", commodities[i].id, commodities[i].name, commodities[i].price);
}
// 计算总价
for (int i = 0; i < n; i++) {
int count;
printf("请输入第%d个商品购买的数量:", i+1);
scanf("%d", &count);
total_price += count * commodities[i].price;
}
// 显示总价
printf("总价:%.2f", total_price);
// 释放内存
free(commodities);
return 0;
}
```
该程序首先提示用户输入商品数量,接着读取每个商品的编号、名称和单价,存储在动态分配的数组中。然后显示商品列表,让用户输入每个商品的购买数量,最后计算总价并显示出来。需要注意的是,在程序结束时需要释放动态分配的内存。