uc_gui点菜系统郑州轻工业学院
课程设计任务书
题目基于ucgui的点菜系统设计
专业、班级电子信息科学与技术09-1班学号
姓名
主要内容、基本要求、主要参考文献等:
课程说明
随着信息化技术的不断发展,电子菜单开始出现在一些高档餐厅,与传统菜单相比,电子菜单可以节省制作成本和人力成本,并能实现无线下单。可以随需变更菜品信息,灵活进行菜品促销,帮助饭店有效提升品牌形象和服务水平,增加菜品销量,提高营业收益。其强大的后台管理功能,让饭店管理者运筹帷幄,省心省力。
本次课程设计利用GUI函数制作一个简单的电子菜单,实现基本的查阅、点菜、菜价计算、付账等功能,旨在熟悉掌握C语言和对系统函数的灵活运用。
2、主要内容
(1)掌握LCD显示图形的方法,掌握LCD显示字符的方法。
(2) 了解汉字库的组织方式,汉字显示的原理,学习LCD的显示原理和控制办法。
(3) 完成点菜系统的点菜,菜价计算,账单打印功能。
3、基本要求
(1) 编写图形显示函数,在LCD上显示图形
(2) 编写HZK16读取函数,在LCD上显示汉字
(3) 菜单程序设计,实现菜单的选择操作。
此菜单共有16道菜,在首界面显示4道菜的信息,报告菜名、价格、份数,还可以增加、减少或退选某道菜,相应地其份数会发生改变。通过点击上下翻页三角键,可以查看其余12道菜(可循环),选中某道菜之后,菜名会变红色,起提示作用。点击“OK”键,说明点菜结束,进入第二界面。
第二界面有菜单的简单显示,包括菜名、价格和份数,还有合计花费。另外,增加了“修改”和“重选”两个功能键,点击“修改”键,系统会跳转到第一界面,对点菜情况进行修改;点击“重选”键,会出现一个提示画面:真的要重选吗,点击“确定”,则系统跳回第一界面,重新点菜;点击“取消”,提示画面消失。若点击“详细菜单”键,系统跳转到第三界面。
第三界面罗列了每道菜的菜名、价格、份数,还有花费情况,如果顾客没有异议,点击“确认付账”后,会出现一个提示画面:谢谢光临,欢迎下次再来,系统将在秒后跳回主菜单。计时3秒钟。如果点击“返回”键,则系统回到第二界面。
#include ""
#include ""
#include <>
#include <>
#include <>
#define countof(Array) (sizeof(Array)/sizeof(Array[0]))
const GUI_POINT aPoints0[]={
{0,-15},
{30,15},
{-30,15}
};
const GUI_POINT aPoints1[]={
{-30,-15},
{30,-15},
{0,15}
};
int s,ms,ms1,ss;
int number[17]={0};//份数
int change=0;//界面变换标志位
t=0;
int flag=0;//第二界面重选标志位
int time=0;//time用来控制显示第一界面静止的部分
int flag21=0;//第二界面切换到第一界面标志位
int time1=0;//控制显示第二界面静止的部分
int time2=0;//控制显示第二界面重选确认窗口
int time3=0;//控制显示第三界面静止的部分
int flag3=0;//控制显示第三界面确认付账
int flag31=0;
int cancel=0;//第二界面重选取消标志位
GUI_PID_STATE TouchState;
char menu[17][100]={"麻婆豆腐","辣子鸡丁","东坡肘子","豆瓣鲫鱼","口袋豆腐","酸菜干鱼","夫妻肺片",
"蚂蚁上树","叫化香鸡","茄汁鱼卷","鱼香肉丝","干煸冬笋","魔芋烧鸭","锅贴鱼片","麻辣肉丁","鱼香茄饼"};//菜名
int price[17]={12,16,30,28,10,25,35,8,50,14,20,8,46,32,16,15};//菜价
int count_time()
{
ms=(GUI_GetTime()-ms1)/100;
ms%=10;
if(ms==9)
{
ss++;
GUI_Delay(100);
}
s=3-ss;
return s;
}
int count_number(int x)//计算位数
{
int y=0;
if(x==0) return 1;
while(x>0)
{x=x/10;
y+
uc gui点菜系统 来自淘豆网m.daumloan.com转载请标明出处.