typedef struct info_s{
    char buf[100];
    int board_length;
    int board_width;
    int print_position_lenth;
    int print_position_width;
    int price;
}info_s;

typedef info_s* info_p;

//菜品结构体初始化
info_p Info_init(char *concent, int board_length,
                int board_width, int print_position_lenth,
                int print_position_width)
                
{
    info_p new_info = malloc(sizeof(info_s));
    if (new_info != NULL)
    {
        strcpy(new_info->buf,concent);
        new_info->board_length = board_length;
        new_info->board_width = board_width;
        new_info->print_position_lenth = print_position_lenth;
        new_info->print_position_width = print_position_width;
        new_info->price = 0; // 初始化价格为0
    }
    return new_info;
}

//刷新滑动屏幕时的菜品展示
void Refresh_interface(void)
{
    char buf[4];
    bzero(buf,4);
    sprintf(buf,"%d/2",page);
    info_p c = Info_init(buf,30,20,425,460);
    showfont1(c);
    if(page == 1)
    {
        info_p one = Info_init('  长沙臭豆腐 45  ',120,20,160,250);
        info_p two = Info_init('  玉带虾仁 55  ',120,20,330,250);
        info_p the = Info_init('  油焖大虾 88  ',120,20,500,250);
        info_p fou = Info_init('  一锅鲜 68  ',120,20,670,250);
        info_p fiv = Info_init('  锡纸烤鸭 75  ',120,20,160,435);
        info_p six = Info_init('  蒜蓉虾球 50  ',120,20,330,435);
        info_p sen = Info_init('  山药炖鸡 56  ',120,20,500,435);
        info_p eig = Info_init('  三鲜汤 20  ',120,20,670,435);
        showfont1(one);
        showfont1(two);
        showfont1(the);
        showfont1(fou);
        showfont1(fiv);
        showfont1(six);
        showfont1(sen);
        showfont1(eig);
    }
    if(page == 2)
    {
        info_p one = Info_init('  软酥炸鸡 66  ',120,20,160,250);
        info_p two = Info_init('  清江烤鱼 88  ',120,20,330,250);
        info_p the = Info_init('  清炒时蔬  25   ',120,20,500,250);
        info_p fou = Info_init('  梅菜扣肉 49  ',120,20,670,250);
        info_p fiv = Info_init('  毛血旺 59  ',120,20,160,435);
        info_p six = Info_init('  红烧牛蛙 35  ',120,20,330,435);
        info_p sen = Info_init('  红槽排骨  50   ',120,20,500,435);
        info_p eig = Info_init('  红扒鸡翅  78   ',120,20,670,435);
        showfont1(one);
        showfont1(two);
        showfont1(the);
        showfont1(fou);
        showfont1(fiv);
        showfont1(six);
        showfont1(sen);
        showfont1(eig);
    }
    /*if(page == 3)
    {
        info_p one = Info_init('  宫保鸡丁 89  ',120,20,160,250);
        showfont1(one);
    }*/
}

// 更新菜品价格
void Update_price(info_p info, int new_price){
    info->price = new_price;
}

// 添加管理员功能
int admin_mode = 0; // 管理员模式标志

void Refresh_interface(void){
    // ...
    
    // 管理员模式下修改菜品价格
    if(admin_mode){
        // 假设要修改菜品1的价格为50
        Update_price(one, 50);
    }
    
    // ...
}

说明:

  1. 代码中添加了 price 字段到 info_s 结构体中,用于存储菜品价格。
  2. Update_price 函数用于更新菜品价格,接收菜品结构体指针和新的价格作为参数。
  3. Refresh_interface 函数中,添加了管理员模式的逻辑,当 admin_mode 为 1 时,调用 Update_price 函数修改菜品价格。

改进建议:

  1. 可以通过键盘输入或其他方式实现管理员模式的切换。
  2. 可以添加函数来获取用户输入的菜品编号和新价格,并使用这些信息来更新指定菜品的價格。
  3. 可以将菜品信息存储在数组或链表中,方便管理和查找。
  4. 可以添加保存和读取菜品信息的功能,方便数据持久化。
  5. 可以根据实际需求添加更多功能,例如添加、删除菜品等。

代码使用说明:

  1. 将代码保存为 main.c 文件。
  2. 使用 C 语言编译器编译并运行该文件。
  3. 根据实际情况修改代码中的菜品信息和管理员模式的逻辑。

注意:

  1. 代码中 showfont1 函数需要根据实际情况修改,用于展示菜品信息。
  2. 代码中的 page 变量需要根据实际情况修改,用于表示当前显示的页面。
  3. 代码中管理员模式的实现只是一个简单示例,需要根据实际需求进行改进和完善。

希望以上代码和说明能够帮助你实现菜品信息的管理功能。

C语言菜品结构体初始化及管理功能实现

原文地址: https://www.cveoy.top/t/topic/qtAU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录