c语言网购管理系统
时间: 2023-07-03 11:05:10 浏览: 99
一个简单的 C 语言网购管理系统可以包括以下功能:
1. 商品管理:包括添加、删除、修改商品信息,查询商品列表等功能;
2. 订单管理:包括添加、删除、修改订单信息,查询订单列表等功能;
3. 用户管理:包括添加、删除、修改用户信息,查询用户列表等功能;
4. 支付管理:包括支付方式选择、支付结果查询等功能;
5. 物流管理:包括物流公司选择、物流运输状态查询等功能。
其中,可以使用文件存储数据,也可以使用数据库存储数据。具体实现方式可以根据需求选择。
下面是一个简单的代码示例,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PRODUCT_NUM 100 // 最大商品数量
#define MAX_ORDER_NUM 100 // 最大订单数量
#define MAX_USER_NUM 100 // 最大用户数量
// 商品结构体
typedef struct {
char name[50]; // 商品名称
float price; // 商品价格
int stock; // 商品库存
} Product;
// 订单结构体
typedef struct {
int id; // 订单编号
char product_name[50]; // 商品名称
int quantity; // 商品数量
float total_price; // 订单总价
char status[20]; // 订单状态
} Order;
// 用户结构体
typedef struct {
char name[50]; // 用户名称
char address[100]; // 用户地址
char phone[20]; // 用户手机号码
} User;
// 商品列表
Product products[MAX_PRODUCT_NUM];
int product_count = 0;
// 订单列表
Order orders[MAX_ORDER_NUM];
int order_count = 0;
// 用户列表
User users[MAX_USER_NUM];
int user_count = 0;
// 添加商品
void add_product() {
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() {
char name[50];
printf("请输入要删除的商品名称:");
scanf("%s", name);
int i, j;
for (i = 0; i < product_count; i++) {
if (strcmp(products[i].name, name) == 0) {
for (j = i; j < product_count - 1; j++) {
products[j] = products[j + 1];
}
product_count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该商品!\n");
}
// 修改商品信息
void modify_product() {
char name[50];
printf("请输入要修改的商品名称:");
scanf("%s", name);
int i;
for (i = 0; i < product_count; i++) {
if (strcmp(products[i].name, name) == 0) {
printf("请输入新的商品名称:");
scanf("%s", products[i].name);
printf("请输入新的商品价格:");
scanf("%f", &products[i].price);
printf("请输入新的商品库存:");
scanf("%d", &products[i].stock);
printf("修改成功!\n");
return;
}
}
printf("未找到该商品!\n");
}
// 查询商品列表
void query_product_list() {
int i;
printf("商品列表:\n");
for (i = 0; i < product_count; i++) {
printf("%s\t%.2f\t%d\n", products[i].name, products[i].price, products[i].stock);
}
}
// 添加订单
void add_order() {
printf("请输入商品名称:");
scanf("%s", orders[order_count].product_name);
printf("请输入商品数量:");
scanf("%d", &orders[order_count].quantity);
int i;
for (i = 0; i < product_count; i++) {
if (strcmp(products[i].name, orders[order_count].product_name) == 0) {
if (orders[order_count].quantity > products[i].stock) {
printf("商品库存不足!\n");
return;
}
orders[order_count].id = order_count + 1;
orders[order_count].total_price = orders[order_count].quantity * products[i].price;
strcpy(orders[order_count].status, "待支付");
products[i].stock -= orders[order_count].quantity;
order_count++;
printf("添加成功!\n");
return;
}
}
printf("未找到该商品!\n");
}
// 删除订单
void delete_order() {
int id;
printf("请输入要删除的订单编号:");
scanf("%d", &id);
int i, j;
for (i = 0; i < order_count; i++) {
if (orders[i].id == id) {
for (j = i; j < order_count - 1; j++) {
orders[j] = orders[j + 1];
}
order_count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该订单!\n");
}
// 修改订单信息
void modify_order() {
int id;
printf("请输入要修改的订单编号:");
scanf("%d", &id);
int i;
for (i = 0; i < order_count; i++) {
if (orders[i].id == id) {
printf("请输入新的商品名称:");
scanf("%s", orders[i].product_name);
printf("请输入新的商品数量:");
scanf("%d", &orders[i].quantity);
int j;
for (j = 0; j < product_count; j++) {
if (strcmp(products[j].name, orders[i].product_name) == 0) {
if (orders[i].quantity > products[j].stock) {
printf("商品库存不足!\n");
return;
}
orders[i].total_price = orders[i].quantity * products[j].price;
products[j].stock -= orders[i].quantity;
printf("修改成功!\n");
return;
}
}
printf("未找到该商品!\n");
return;
}
}
printf("未找到该订单!\n");
}
// 查询订单列表
void query_order_list() {
int i;
printf("订单列表:\n");
for (i = 0; i < order_count; i++) {
printf("%d\t%s\t%d\t%.2f\t%s\n", orders[i].id, orders[i].product_name, orders[i].quantity, orders[i].total_price, orders[i].status);
}
}
// 添加用户
void add_user() {
printf("请输入用户名称:");
scanf("%s", users[user_count].name);
printf("请输入用户地址:");
scanf("%s", users[user_count].address);
printf("请输入用户手机号码:");
scanf("%s", users[user_count].phone);
user_count++;
printf("添加成功!\n");
}
// 删除用户
void delete_user() {
char name[50];
printf("请输入要删除的用户名称:");
scanf("%s", name);
int i, j;
for (i = 0; i < user_count; i++) {
if (strcmp(users[i].name, name) == 0) {
for (j = i; j < user_count - 1; j++) {
users[j] = users[j + 1];
}
user_count--;
printf("删除成功!\n");
return;
}
}
printf("未找到该用户!\n");
}
// 修改用户信息
void modify_user() {
char name[50];
printf("请输入要修改的用户名称:");
scanf("%s", name);
int i;
for (i = 0; i < user_count; i++) {
if (strcmp(users[i].name, name) == 0) {
printf("请输入新的用户名称:");
scanf("%s", users[i].name);
printf("请输入新的用户地址:");
scanf("%s", users[i].address);
printf("请输入新的用户手机号码:");
scanf("%s", users[i].phone);
printf("修改成功!\n");
return;
}
}
printf("未找到该用户!\n");
}
// 查询用户列表
void query_user_list() {
int i;
printf("用户列表:\n");
for (i = 0; i < user_count; i++) {
printf("%s\t%s\t%s\n", users[i].name, users[i].address, users[i].phone);
}
}
// 支付订单
void pay_order() {
int id;
printf("请输入要支付的订单编号:");
scanf("%d", &id);
int i;
for (i = 0; i < order_count; i++) {
if (orders[i].id == id) {
if (strcmp(orders[i].status, "待支付") == 0) {
strcpy(orders[i].status, "已支付");
printf("支付成功!\n");
return;
} else {
printf("该订单已支付!\n");
return;
}
}
}
printf("未找到该订单!\n");
}
// 查询物流信息
void query_logistics() {
int id;
printf("请输入要查询的订单编号:");
scanf("%d", &id);
int i;
for (i = 0; i < order_count; i++) {
if (orders[i].id == id) {
printf("物流公司:顺丰速运\n");
printf("物流单号:SF%d\n", id);
if (strcmp(orders[i].status, "已支付") == 0) {
printf("物流状态:已发货\n");
} else {
printf("物流状态:未发货\n");
}
return;
}
}
printf("未找到该订单!\n");
}
int main() {
int choice;
while (1) {
printf("1.商品管理\n2.订单管理\n3.用户管理\n4.支付管理\n5.物流管理\n0.退出程序\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("1.添加商品\n2.删除商品\n3.修改商品信息\n4.查询商品列表\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_product();
break;
case 2:
delete_product();
break;
case 3:
modify_product();
break;
case 4:
query_product_list();
break;
default:
printf("无效操作!\n");
break;
}
break;
case 2:
printf("1.添加订单\n2.删除订单\n3.修改订单信息\n4.查询订单列表\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_order();
break;
case 2:
delete_order();
break;
case 3:
modify_order();
break;
case 4:
query_order_list();
break;
default:
printf("无效操作!\n");
break;
}
break;
case 3:
printf("1.添加用户\n2.删除用户\n3.修改用户信息\n4.查询用户列表\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_user();
break;
case 2:
delete_user();
break;
case 3:
modify_user();
break;
case 4:
query_user_list();
break;
default:
printf("无效操作!\n");
break;
}
break;
case 4:
printf("1.支付订单\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
pay_order();
break;
default:
printf("无效操作!\n");
break;
}
break;
case 5:
printf("1.查询物流信息\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
query_logistics();
break;
default:
printf("无效操作!\n");
break;
}
break;
case 0:
return 0;
default:
printf("无效操作!\n");
break;
}
}
return 0;
}
```
阅读全文