📜  C中的食物订购系统(1)

📅  最后修改于: 2023-12-03 15:30:14.781000             🧑  作者: Mango

C中的食物订购系统

本系统是为了方便某个餐馆的顾客订购食物而开发的。系统包含以下功能:

  1. 显示菜单:将所有的食品以及其价格展示给用户。

  2. 订购食物:用户选择要订购的食物以及数量,并生成订单号。订单号是根据当前时间和用户ID自动生成的,确保唯一性。

  3. 查看订单:用户可以根据订单号查看他们的订单详情,包括订单状态、订单号、食物名称和数量、订单时间以及订单总价。

  4. 取消订单:用户可以根据订单号取消他们的订单。

程序实现

本系统的主要实现思路如下:

  1. 设计菜单:创建一个包含所有可供订购的食品以及其价格的结构体数组。
struct food {
    char name[30];
    float price;
};
struct food menu[] = {
    {"burger", 3.50},
    {"fries", 2.50},
    {"soda", 1.00},
    // add more food items as needed
};
  1. 订购食物:用户输入想要订购的食品以及数量,程序生成订单号并存储在订单结构体数组中。订单结构体包含订单号、用户ID、食品名称、数量、订单总价以及订单状态等信息。
struct order {
    int order_number;
    int user_id;
    char food_name[30];
    int quantity;
    float total_price;
    int status;
};
struct order orders[1000]; // assuming at most 1000 orders
  1. 查看订单:用户输入订单号,程序查找订单结构体数组中的相应订单,如果找到则输出订单详情。
int i;
for (i = 0; i < num_orders; i++) {
    if (orders[i].order_number == order_number) {
        printf("Order Number: %d\n", orders[i].order_number);
        printf("User ID: %d\n", orders[i].user_id);
        printf("Food Name: %s\n", orders[i].food_name);
        printf("Quantity: %d\n", orders[i].quantity);
        printf("Total Price: %.2f\n", orders[i].total_price);
        printf("Status: %s\n", STATUS[orders[i].status]);
        break;
    }
}
  1. 取消订单:用户输入订单号,程序查找订单结构体数组中的相应订单,如果找到则将订单状态设置为取消。
for (i = 0; i < num_orders; i++) {
    if (orders[i].order_number == order_number) {
        orders[i].status = CANCELED;
        printf("Order %d has been canceled.\n", order_number);
        break;
    }
}
总结

C中的食物订购系统实现了 菜单显示、订购食物、查看订单、取消订单 四种功能。系统中使用了结构体来存储食品、订单等信息。程序实现涉及到数组、循环、条件语句等基本的C语言概念。本系统仅供参考,实际应用中需要根据具体需求进行修改和优化。