用c语言编写商店销售管理系统
时间: 2023-10-23 09:08:30 浏览: 91
商店销售管理系统可以包括以下功能:
1. 商品管理:添加、删除、修改商品信息,包括商品名称、价格、库存等。
2. 销售管理:录入销售订单,包括客户名称、购买商品、数量、单价等信息。
3. 库存管理:实时更新库存信息,包括商品数量、进货和销售记录等。
4. 用户管理:添加、删除、修改用户信息,包括用户名、密码、权限等。
5. 报表管理:生成销售报表、库存报表、利润报表等。
下面是一个简单的商店销售管理系统的 C 语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PRODUCT_NUM 100 // 最大商品数量
#define MAX_NAME_LENGTH 50 // 商品名称最大长度
#define MAX_ORDER_NUM 1000 // 最大订单数量
#define MAX_CUSTOMER_NAME_LENGTH 50 // 客户名称最大长度
typedef struct product {
char name[MAX_NAME_LENGTH];
float price;
int stock;
} Product;
typedef struct order {
char customer_name[MAX_CUSTOMER_NAME_LENGTH];
int product_id;
int quantity;
} Order;
Product products[MAX_PRODUCT_NUM];
Order orders[MAX_ORDER_NUM];
int product_count = 0;
int order_count = 0;
// 添加商品
void add_product() {
if (product_count >= MAX_PRODUCT_NUM) {
printf("商品数量已达到最大值%d,无法添加新商品!\n", MAX_PRODUCT_NUM);
return;
}
printf("请输入商品名称:");
scanf("%s", products[product_count].name);
printf("请输入商品价格:");
scanf("%f", &products[product_count].price);
printf("请输入商品库存:");
scanf("%d", &products[product_count].stock);
product_count++;
printf("商品添加成功!\n");
}
// 删除商品
void delete_product() {
if (product_count == 0) {
printf("商品数量为0,无法删除商品!\n");
return;
}
printf("请输入要删除的商品编号:");
int id;
scanf("%d", &id);
if (id < 1 || id > product_count) {
printf("商品编号无效!\n");
return;
}
// 将指定编号后面的商品前移,覆盖指定编号的商品
for (int i = id; i < product_count; i++) {
products[i - 1] = products[i];
}
product_count--;
printf("商品删除成功!\n");
}
// 修改商品
void modify_product() {
if (product_count == 0) {
printf("商品数量为0,无法修改商品!\n");
return;
}
printf("请输入要修改的商品编号:");
int id;
scanf("%d", &id);
if (id < 1 || id > product_count) {
printf("商品编号无效!\n");
return;
}
printf("请输入新的商品名称:");
scanf("%s", products[id - 1].name);
printf("请输入新的商品价格:");
scanf("%f", &products[id - 1].price);
printf("请输入新的商品库存:");
scanf("%d", &products[id - 1].stock);
printf("商品修改成功!\n");
}
// 添加订单
void add_order() {
if (product_count == 0) {
printf("商品数量为0,无法下订单!\n");
return;
}
if (order_count >= MAX_ORDER_NUM) {
printf("订单数量已达到最大值%d,无法下新订单!\n", MAX_ORDER_NUM);
return;
}
printf("请输入客户名称:");
scanf("%s", orders[order_count].customer_name);
printf("请选择要购买的商品(编号:名称):\n");
for (int i = 0; i < product_count; i++) {
printf("%d: %s\n", i + 1, products[i].name);
}
int product_id;
scanf("%d", &product_id);
if (product_id < 1 || product_id > product_count) {
printf("商品编号无效!\n");
return;
}
printf("请输入购买数量:");
scanf("%d", &orders[order_count].quantity);
// 更新商品库存
products[product_id - 1].stock -= orders[order_count].quantity;
orders[order_count].product_id = product_id;
order_count++;
printf("订单添加成功!\n");
}
// 生成销售报表
void generate_sales_report() {
printf("销售报表:\n");
printf("客户名称\t商品名称\t数量\t单价\t总价\n");
float total_sales = 0;
for (int i = 0; i < order_count; i++) {
Order order = orders[i];
Product product = products[order.product_id - 1];
float price = product.price;
int quantity = order.quantity;
float subtotal = price * quantity;
total_sales += subtotal;
printf("%s\t%s\t%d\t%.2f\t%.2f\n", order.customer_name, product.name, quantity, price, subtotal);
}
printf("总销售额:%.2f\n", total_sales);
}
int main() {
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 添加商品\n");
printf("2. 删除商品\n");
printf("3. 修改商品\n");
printf("4. 添加订单\n");
printf("5. 生成销售报表\n");
printf("6. 退出程序\n");
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_product();
break;
case 2:
delete_product();
break;
case 3:
modify_product();
break;
case 4:
add_order();
break;
case 5:
generate_sales_report();
break;
case 6:
printf("感谢使用商店销售管理系统,再见!\n");
exit(0);
default:
printf("无效的操作编号,请重新输入!\n");
}
}
return 0;
}
```
阅读全文