C语言用数组编写超市管理系统
时间: 2023-10-29 08:24:11 浏览: 68
好的,一个简单的超市管理系统可以使用数组来存储商品信息。以下是一个示例程序,它使用一个包含商品信息的结构体数组来实现超市管理系统的基本功能。
```c
#include <stdio.h>
#include <string.h>
#define MAX_PRODUCTS 100
// 商品结构体
struct product {
char name[50];
float price;
int quantity;
};
// 商品数组
struct product products[MAX_PRODUCTS];
int num_products = 0; // 商品数量
// 添加商品
void add_product(char *name, float price, int quantity) {
if (num_products < MAX_PRODUCTS) {
struct product p;
strcpy(p.name, name);
p.price = price;
p.quantity = quantity;
products[num_products] = p;
num_products++;
printf("商品已添加\n");
} else {
printf("商品库存已满,无法添加\n");
}
}
// 显示商品
void show_products() {
printf("商品列表:\n");
printf("编号\t名称\t价格\t库存\n");
for (int i = 0; i < num_products; i++) {
printf("%d\t%s\t%.2f\t%d\n", i+1, products[i].name, products[i].price, products[i].quantity);
}
}
// 修改商品
void modify_product(int index, char *name, float price, int quantity) {
if (index >= 0 && index < num_products) {
struct product p;
strcpy(p.name, name);
p.price = price;
p.quantity = quantity;
products[index] = p;
printf("商品已修改\n");
} else {
printf("无效的商品编号\n");
}
}
// 删除商品
void delete_product(int index) {
if (index >= 0 && index < num_products) {
for (int i = index; i < num_products-1; i++) {
products[i] = products[i+1];
}
num_products--;
printf("商品已删除\n");
} else {
printf("无效的商品编号\n");
}
}
int main() {
int choice;
char name[50];
float price;
int quantity;
int index;
while (1) {
printf("\n超市管理系统\n");
printf("1. 添加商品\n");
printf("2. 显示商品列表\n");
printf("3. 修改商品\n");
printf("4. 删除商品\n");
printf("5. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入商品名称:");
scanf("%s", name);
printf("请输入商品价格:");
scanf("%f", &price);
printf("请输入商品数量:");
scanf("%d", &quantity);
add_product(name, price, quantity);
break;
case 2:
show_products();
break;
case 3:
printf("请输入要修改的商品编号:");
scanf("%d", &index);
index--;
printf("请输入新的商品名称:");
scanf("%s", name);
printf("请输入新的商品价格:");
scanf("%f", &price);
printf("请输入新的商品数量:");
scanf("%d", &quantity);
modify_product(index, name, price, quantity);
break;
case 4:
printf("请输入要删除的商品编号:");
scanf("%d", &index);
index--;
delete_product(index);
break;
case 5:
printf("退出超市管理系统\n");
return 0;
default:
printf("无效的选择\n");
break;
}
}
return 0;
}
```
该程序使用一个包含商品名称、价格和数量的结构体来存储商品信息。它还使用一个结构体数组来存储所有商品信息。该程序提供了添加、显示、修改和删除商品的功能,可以根据需要进行扩展。
阅读全文