c语言外卖订餐系统的程序运行代码
时间: 2023-08-12 21:21:03 浏览: 45
由于外卖订餐系统的代码量较大,这里仅提供一个简单的程序示例,供参考:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct {
int id; // 菜品编号
char name[100]; // 菜品名称
float price; // 菜品价格
} Dish;
typedef struct {
int id; // 用户编号
char name[100]; // 用户名称
char password[100]; // 用户密码
float balance; // 用户余额
} User;
typedef struct {
int id; // 商家编号
char name[100]; // 商家名称
char password[100]; // 商家密码
} Merchant;
typedef struct {
int id; // 订单编号
int userId; // 用户编号
int merchantId; // 商家编号
Dish dish; // 菜品信息
int count; // 购买数量
float totalPrice; // 总价
} Order;
void registerUser(User *user) {
printf("请输入用户名:");
scanf("%s", user->name);
printf("请输入密码:");
scanf("%s", user->password);
printf("请输入余额:");
scanf("%f", &(user->balance));
user->id = rand() % 100000; // 生成随机用户编号
}
void loginUser(User *user) {
char name[100];
char password[100];
printf("请输入用户名:");
scanf("%s", name);
printf("请输入密码:");
scanf("%s", password);
if (strcmp(name, user->name) == 0 && strcmp(password, user->password) == 0) {
printf("登录成功!\n");
} else {
printf("用户名或密码错误!\n");
}
}
void addDish(Dish *dish) {
printf("请输入菜品名称:");
scanf("%s", dish->name);
printf("请输入菜品价格:");
scanf("%f", &(dish->price));
dish->id = rand() % 100000; // 生成随机菜品编号
}
void addOrder(Order *order, User *user, Merchant *merchant, Dish *dish, int count) {
order->id = rand() % 100000; // 生成随机订单编号
order->userId = user->id;
order->merchantId = merchant->id;
order->dish = *dish;
order->count = count;
order->totalPrice = dish->price * count;
}
int main() {
int choice;
User user;
Merchant merchant;
Dish dish;
Order order;
while (1) {
printf("请选择操作:\n");
printf("1. 用户注册\n");
printf("2. 用户登录\n");
printf("3. 商家登录\n");
printf("4. 添加菜品\n");
printf("5. 下单\n");
printf("6. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
registerUser(&user);
break;
case 2:
loginUser(&user);
break;
case 3:
printf("请输入商家名称:");
scanf("%s", merchant.name);
printf("请输入商家密码:");
scanf("%s", merchant.password);
merchant.id = rand() % 100000; // 生成随机商家编号
printf("登录成功!商家编号为:%d\n", merchant.id);
break;
case 4:
addDish(&dish);
break;
case 5:
if (user.id == 0) {
printf("请先登录!\n");
break;
}
if (merchant.id == 0) {
printf("请先登录商家账号!\n");
break;
}
int count;
printf("请输入购买数量:");
scanf("%d", &count);
addOrder(&order, &user, &merchant, &dish, count);
printf("下单成功!订单编号为:%d\n", order.id);
break;
case 6:
return 0;
default:
printf("输入错误,请重新选择!\n");
break;
}
}
return 0;
}
```
这个示例程序包含了用户注册、用户登录、商家登录、添加菜品、下单等功能。在实际开发中,还需要考虑更多的细节问题,例如数据存储、数据校验、并发处理等。