用c语言写一个网上花店系统
时间: 2023-10-10 22:11:29 浏览: 302
好的,网上花店系统通常包括以下功能:
1. 用户注册和登录,包括个人信息的管理;
2. 在线浏览花卉信息,包括花卉的种类、价格、图片等;
3. 购物车管理,用户可以将感兴趣的花卉加入购物车,进行购买;
4. 订单管理,用户可以查看历史订单及其状态;
5. 后台管理,管理员可以对用户信息、花卉信息、订单信息进行管理。
下面是一个简单的网上花店系统的 C 语言实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 用户结构体
typedef struct User {
char name[20]; // 用户名
char password[20]; // 密码
char address[50]; // 地址
} User;
// 花卉结构体
typedef struct Flower {
char name[20]; // 花卉名称
double price; // 价格
char image[50]; // 图片链接
} Flower;
// 订单结构体
typedef struct Order {
char username[20]; // 用户名
char flowername[20]; // 花卉名称
int quantity; // 数量
double total; // 总价
int status; // 订单状态:0-未付款,1-已付款,2-已发货,3-已完成
} Order;
// 用户列表
User userList[100];
int userCount = 0;
// 花卉列表
Flower flowerList[100];
int flowerCount = 0;
// 订单列表
Order orderList[100];
int orderCount = 0;
// 注册函数
void registerUser() {
User user;
printf("请输入用户名:");
scanf("%s", user.name);
printf("请输入密码:");
scanf("%s", user.password);
printf("请输入地址:");
scanf("%s", user.address);
userList[userCount++] = user;
printf("注册成功!\n");
}
// 登录函数
int loginUser() {
char name[20], password[20];
printf("请输入用户名:");
scanf("%s", name);
printf("请输入密码:");
scanf("%s", password);
for (int i = 0; i < userCount; i++) {
if (strcmp(userList[i].name, name) == 0 && strcmp(userList[i].password, password) == 0) {
printf("登录成功!\n");
return i; // 返回用户在列表中的下标
}
}
printf("用户名或密码错误!\n");
return -1;
}
// 添加花卉函数
void addFlower() {
Flower flower;
printf("请输入花卉名称:");
scanf("%s", flower.name);
printf("请输入花卉价格:");
scanf("%lf", &flower.price);
printf("请输入花卉图片链接:");
scanf("%s", flower.image);
flowerList[flowerCount++] = flower;
printf("添加成功!\n");
}
// 查看花卉函数
void viewFlower() {
printf("花卉列表如下:\n");
for (int i = 0; i < flowerCount; i++) {
printf("花卉名称:%s,价格:%.2lf,图片链接:%s\n", flowerList[i].name, flowerList[i].price, flowerList[i].image);
}
}
// 添加订单函数
void addOrder(int userIndex) {
Order order;
printf("请输入花卉名称:");
scanf("%s", order.flowername);
printf("请输入购买数量:");
scanf("%d", &order.quantity);
for (int i = 0; i < flowerCount; i++) {
if (strcmp(flowerList[i].name, order.flowername) == 0) {
order.total = flowerList[i].price * order.quantity;
order.status = 0; // 初始状态为未付款
strcpy(order.username, userList[userIndex].name);
orderList[orderCount++] = order;
printf("添加成功!\n");
return;
}
}
printf("花卉不存在!\n");
}
// 查看订单函数
void viewOrder(int userIndex) {
printf("订单列表如下:\n");
for (int i = 0; i < orderCount; i++) {
if (strcmp(orderList[i].username, userList[userIndex].name) == 0) {
printf("花卉名称:%s,购买数量:%d,总价:%.2lf,状态:%d\n", orderList[i].flowername, orderList[i].quantity, orderList[i].total, orderList[i].status);
}
}
}
// 修改订单状态函数
void updateOrder(int userIndex) {
char name[20];
printf("请输入要修改状态的订单花卉名称:");
scanf("%s", name);
for (int i = 0; i < orderCount; i++) {
if (strcmp(orderList[i].username, userList[userIndex].name) == 0 && strcmp(orderList[i].flowername, name) == 0) {
printf("请输入新的状态:0-未付款,1-已付款,2-已发货,3-已完成:");
scanf("%d", &orderList[i].status);
printf("修改成功!\n");
return;
}
}
printf("订单不存在!\n");
}
int main() {
int choice, userIndex = -1;
while (1) {
printf("欢迎使用网上花店系统!\n");
printf("1. 用户注册\n");
printf("2. 用户登录\n");
printf("3. 添加花卉\n");
printf("4. 查看花卉\n");
printf("5. 添加订单\n");
printf("6. 查看订单\n");
printf("7. 修改订单状态\n");
printf("8. 退出系统\n");
printf("请输入要执行的操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
registerUser();
break;
case 2:
userIndex = loginUser();
break;
case 3:
if (userIndex == -1) {
printf("请先登录!\n");
} else {
addFlower();
}
break;
case 4:
viewFlower();
break;
case 5:
if (userIndex == -1) {
printf("请先登录!\n");
} else {
addOrder(userIndex);
}
break;
case 6:
if (userIndex == -1) {
printf("请先登录!\n");
} else {
viewOrder(userIndex);
}
break;
case 7:
if (userIndex == -1) {
printf("请先登录!\n");
} else {
updateOrder(userIndex);
}
break;
case 8:
printf("谢谢使用!\n");
exit(0);
default:
printf("无效的选择!\n");
break;
}
}
return 0;
}
```
以上代码只是一个简单的示例,实际上网上花店系统需要更加完善的功能和界面设计,需要根据具体需求进行修改和完善。
阅读全文