用c语言写一个超市管理系统
时间: 2024-06-08 20:07:13 浏览: 240
小超市商品管理系统C语言.rar
好的,超市管理系统可以包含以下功能:
1. 商品管理:添加、删除、修改、查询商品信息
2. 销售管理:记录每笔销售信息,包括销售时间、销售员、销售数量、销售金额等
3. 库存管理:记录每种商品的库存情况,包括入库、出库、盘点等操作
4. 会员管理:添加、删除、修改、查询会员信息,积分管理等
下面是一个简单的超市管理系统的实现,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PRODUCTS 100
#define MAX_CUSTOMERS 100
#define MAX_SALES 1000
// 商品结构体
typedef struct Product {
char name[20]; // 商品名称
int id; // 商品编号
float price; // 商品价格
int stock; // 商品库存
} Product;
// 会员结构体
typedef struct Customer {
char name[20]; // 会员姓名
int id; // 会员编号
int points; // 会员积分
} Customer;
// 销售结构体
typedef struct Sale {
int id; // 销售记录编号
int productId; // 销售商品编号
int customerId; // 销售会员编号
int quantity; // 销售数量
float totalPrice; // 销售总金额
char date[20]; // 销售日期
} Sale;
// 全局变量
Product products[MAX_PRODUCTS];
int numProducts = 0;
Customer customers[MAX_CUSTOMERS];
int numCustomers = 0;
Sale sales[MAX_SALES];
int numSales = 0;
// 添加商品
void addProduct() {
if (numProducts >= MAX_PRODUCTS) {
printf("商品已满,无法继续添加!\n");
return;
}
Product product;
printf("请输入商品名称:");
scanf("%s", product.name);
printf("请输入商品编号:");
scanf("%d", &product.id);
printf("请输入商品价格:");
scanf("%f", &product.price);
printf("请输入商品库存:");
scanf("%d", &product.stock);
products[numProducts++] = product;
printf("商品添加成功!\n");
}
// 删除商品
void deleteProduct() {
int id;
printf("请输入要删除的商品编号:");
scanf("%d", &id);
for (int i = 0; i < numProducts; i++) {
if (products[i].id == id) {
for (int j = i; j < numProducts - 1; j++) {
products[j] = products[j+1];
}
numProducts--;
printf("商品删除成功!\n");
return;
}
}
printf("找不到对应的商品编号,删除失败!\n");
}
// 修改商品
void modifyProduct() {
int id;
printf("请输入要修改的商品编号:");
scanf("%d", &id);
for (int i = 0; i < numProducts; i++) {
if (products[i].id == id) {
printf("请输入新的商品名称:");
scanf("%s", products[i].name);
printf("请输入新的商品价格:");
scanf("%f", &products[i].price);
printf("请输入新的商品库存:");
scanf("%d", &products[i].stock);
printf("商品修改成功!\n");
return;
}
}
printf("找不到对应的商品编号,修改失败!\n");
}
// 查询商品
void queryProduct() {
int id;
printf("请输入要查询的商品编号:");
scanf("%d", &id);
for (int i = 0; i < numProducts; i++) {
if (products[i].id == id) {
printf("商品名称:%s\n", products[i].name);
printf("商品价格:%.2f\n", products[i].price);
printf("商品库存:%d\n", products[i].stock);
return;
}
}
printf("找不到对应的商品编号,查询失败!\n");
}
// 添加会员
void addCustomer() {
if (numCustomers >= MAX_CUSTOMERS) {
printf("会员已满,无法继续添加!\n");
return;
}
Customer customer;
printf("请输入会员姓名:");
scanf("%s", customer.name);
printf("请输入会员编号:");
scanf("%d", &customer.id);
printf("请输入会员积分:");
scanf("%d", &customer.points);
customers[numCustomers++] = customer;
printf("会员添加成功!\n");
}
// 删除会员
void deleteCustomer() {
int id;
printf("请输入要删除的会员编号:");
scanf("%d", &id);
for (int i = 0; i < numCustomers; i++) {
if (customers[i].id == id) {
for (int j = i; j < numCustomers - 1; j++) {
customers[j] = customers[j+1];
}
numCustomers--;
printf("会员删除成功!\n");
return;
}
}
printf("找不到对应的会员编号,删除失败!\n");
}
// 修改会员
void modifyCustomer() {
int id;
printf("请输入要修改的会员编号:");
scanf("%d", &id);
for (int i = 0; i < numCustomers; i++) {
if (customers[i].id == id) {
printf("请输入新的会员姓名:");
scanf("%s", customers[i].name);
printf("请输入新的会员积分:");
scanf("%d", &customers[i].points);
printf("会员修改成功!\n");
return;
}
}
printf("找不到对应的会员编号,修改失败!\n");
}
// 查询会员
void queryCustomer() {
int id;
printf("请输入要查询的会员编号:");
scanf("%d", &id);
for (int i = 0; i < numCustomers; i++) {
if (customers[i].id == id) {
printf("会员姓名:%s\n", customers[i].name);
printf("会员积分:%d\n", customers[i].points);
return;
}
}
printf("找不到对应的会员编号,查询失败!\n");
}
// 添加销售记录
void addSale() {
if (numSales >= MAX_SALES) {
printf("销售记录已满,无法继续添加!\n");
return;
}
Sale sale;
printf("请输入销售记录编号:");
scanf("%d", &sale.id);
printf("请输入销售商品编号:");
scanf("%d", &sale.productId);
printf("请输入销售会员编号(如不使用会员卡销售,请输入0):");
scanf("%d", &sale.customerId);
printf("请输入销售数量:");
scanf("%d", &sale.quantity);
for (int i = 0; i < numProducts; i++) {
if (products[i].id == sale.productId) {
if (products[i].stock < sale.quantity) {
printf("库存不足,销售失败!\n");
return;
}
products[i].stock -= sale.quantity;
sale.totalPrice = products[i].price * sale.quantity;
break;
}
}
if (sale.customerId != 0) {
for (int i = 0; i < numCustomers; i++) {
if (customers[i].id == sale.customerId) {
customers[i].points += sale.totalPrice / 10;
break;
}
}
}
printf("请输入销售日期(格式:YYYY-MM-DD):");
scanf("%s", sale.date);
sales[numSales++] = sale;
printf("销售记录添加成功!\n");
}
// 查询销售记录
void querySale() {
int id;
printf("请输入要查询的销售记录编号:");
scanf("%d", &id);
for (int i = 0; i < numSales; i++) {
if (sales[i].id == id) {
printf("销售记录编号:%d\n", sales[i].id);
printf("销售日期:%s\n", sales[i].date);
printf("销售商品编号:%d\n", sales[i].productId);
printf("销售会员编号:%d\n", sales[i].customerId);
printf("销售数量:%d\n", sales[i].quantity);
printf("销售总金额:%.2f\n", sales[i].totalPrice);
return;
}
}
printf("找不到对应的销售记录编号,查询失败!\n");
}
// 主函数
int main() {
int choice;
while (1) {
printf("\n超市管理系统\n");
printf("1. 商品管理\n");
printf("2. 会员管理\n");
printf("3. 销售管理\n");
printf("4. 退出系统\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("\n商品管理\n");
printf("1. 添加商品\n");
printf("2. 删除商品\n");
printf("3. 修改商品\n");
printf("4. 查询商品\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addProduct();
break;
case 2:
deleteProduct();
break;
case 3:
modifyProduct();
break;
case 4:
queryProduct();
break;
default:
printf("无效的操作!\n");
break;
}
break;
case 2:
printf("\n会员管理\n");
printf("1. 添加会员\n");
printf("2. 删除会员\n");
printf("3. 修改会员\n");
printf("4. 查询会员\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addCustomer();
break;
case 2:
deleteCustomer();
break;
case 3:
modifyCustomer();
break;
case 4:
queryCustomer();
break;
default:
printf("无效的操作!\n");
break;
}
break;
case 3:
printf("\n销售管理\n");
printf("1. 添加销售记录\n");
printf("2. 查询销售记录\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addSale();
break;
case 2:
querySale();
break;
default:
printf("无效的操作!\n");
break;
}
break;
case 4:
printf("\n感谢使用超市管理系统,再见!\n");
exit(0);
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
这个超市管理系统可以帮助你实现简单的商品管理、会员管理和销售管理,但是还有很多需要优化的地方,比如加入文件存储功能、添加更多的数据校验等。
阅读全文