修改菜品名称 编号 根据菜品编号或名称查询菜品详细信息 统计菜品销售量 库存销售额
时间: 2024-01-03 09:03:07 浏览: 50
好的,根据您的需求,我为您提供一个简单的 C 语言代码示例,实现对菜品信息的基本管理功能,包括添加、修改、查询、统计等。代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NUM 1000 // 菜品数量上限
#define MAX_NAME 50 // 菜品名称最大长度
// 菜品结构体
typedef struct {
char name[MAX_NAME];
int id;
int sales; // 销售量
int stock; // 库存
float price; // 价格
} Dish;
// 菜品数组
Dish dishes[MAX_NUM];
// 当前菜品数量
int dish_num = 0;
// 添加菜品
void add_dish()
{
if (dish_num >= MAX_NUM) {
printf("已达到菜品数量上限,无法添加新菜品!\n");
return;
}
Dish new_dish;
printf("请输入菜品名称:");
scanf("%s", new_dish.name);
printf("请输入菜品编号:");
scanf("%d", &new_dish.id);
printf("请输入菜品价格:");
scanf("%f", &new_dish.price);
printf("请输入菜品库存:");
scanf("%d", &new_dish.stock);
// TODO: 可以添加检查菜品编号是否重复的逻辑
dishes[dish_num++] = new_dish;
printf("菜品添加成功!\n");
}
// 修改菜品信息
void modify_dish()
{
int id;
printf("请输入要修改的菜品编号:");
scanf("%d", &id);
int index = -1; // 记录要修改的菜品在数组中的下标
for (int i = 0; i < dish_num; i++) {
if (dishes[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
printf("找不到菜品编号为 %d 的菜品!\n", id);
return;
}
Dish new_dish = dishes[index];
printf("请输入新的菜品名称(当前名称为 %s):", new_dish.name);
scanf("%s", new_dish.name);
printf("请输入新的菜品价格(当前价格为 %.2f):", new_dish.price);
scanf("%f", &new_dish.price);
printf("请输入新的菜品库存(当前库存为 %d):", new_dish.stock);
scanf("%d", &new_dish.stock);
dishes[index] = new_dish;
printf("菜品信息修改成功!\n");
}
// 查询菜品信息
void query_dish()
{
char name[MAX_NAME];
int id;
printf("请选择查询方式:\n");
printf("1. 根据菜品名称查询\n");
printf("2. 根据菜品编号查询\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入菜品名称:");
scanf("%s", name);
for (int i = 0; i < dish_num; i++) {
if (strcmp(dishes[i].name, name) == 0) {
printf("菜品名称:%s,编号:%d,价格:%.2f,库存:%d,销售量:%d\n",
dishes[i].name, dishes[i].id, dishes[i].price, dishes[i].stock, dishes[i].sales);
}
}
break;
case 2:
printf("请输入菜品编号:");
scanf("%d", &id);
for (int i = 0; i < dish_num; i++) {
if (dishes[i].id == id) {
printf("菜品名称:%s,编号:%d,价格:%.2f,库存:%d,销售量:%d\n",
dishes[i].name, dishes[i].id, dishes[i].price, dishes[i].stock, dishes[i].sales);
break;
}
}
break;
default:
printf("无效的选择!\n");
}
}
// 统计销售量和销售额
void statistics()
{
int total_sales = 0;
float total_revenue = 0.0f;
for (int i = 0; i < dish_num; i++) {
total_sales += dishes[i].sales;
total_revenue += dishes[i].sales * dishes[i].price;
}
printf("当前总销售量为:%d,总销售额为:%.2f 元\n", total_sales, total_revenue);
}
// 主函数
int main()
{
int choice;
while (1) {
printf("请选择操作:\n");
printf("1. 添加菜品\n");
printf("2. 修改菜品信息\n");
printf("3. 查询菜品信息\n");
printf("4. 统计销售量和销售额\n");
printf("0. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_dish();
break;
case 2:
modify_dish();
break;
case 3:
query_dish();
break;
case 4:
statistics();
break;
case 0:
printf("程序已退出!\n");
exit(0);
default:
printf("无效的选择!\n");
}
}
}
```
这段代码实现了对菜品信息的添加、修改、查询、统计等基本管理功能,可以根据您的实际需求进行修改和扩展。需要注意的是,这段代码并没有对菜品信息进行存储和读取操作,如果需要实现菜品信息的持久化存储,可以考虑使用文件或数据库等方式进行实现。
阅读全文