C语言菜品结构体初始化及管理功能实现
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);
}
// ...
}
说明:
- 代码中添加了
price字段到info_s结构体中,用于存储菜品价格。 Update_price函数用于更新菜品价格,接收菜品结构体指针和新的价格作为参数。- 在
Refresh_interface函数中,添加了管理员模式的逻辑,当admin_mode为 1 时,调用Update_price函数修改菜品价格。
改进建议:
- 可以通过键盘输入或其他方式实现管理员模式的切换。
- 可以添加函数来获取用户输入的菜品编号和新价格,并使用这些信息来更新指定菜品的價格。
- 可以将菜品信息存储在数组或链表中,方便管理和查找。
- 可以添加保存和读取菜品信息的功能,方便数据持久化。
- 可以根据实际需求添加更多功能,例如添加、删除菜品等。
代码使用说明:
- 将代码保存为
main.c文件。 - 使用 C 语言编译器编译并运行该文件。
- 根据实际情况修改代码中的菜品信息和管理员模式的逻辑。
注意:
- 代码中
showfont1函数需要根据实际情况修改,用于展示菜品信息。 - 代码中的
page变量需要根据实际情况修改,用于表示当前显示的页面。 - 代码中管理员模式的实现只是一个简单示例,需要根据实际需求进行改进和完善。
希望以上代码和说明能够帮助你实现菜品信息的管理功能。
原文地址: https://www.cveoy.top/t/topic/qtAU 著作权归作者所有。请勿转载和采集!