餐馆管理系统设计报告_第1页
餐馆管理系统设计报告_第2页
餐馆管理系统设计报告_第3页
餐馆管理系统设计报告_第4页
餐馆管理系统设计报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选优质文档-----倾情为你奉上精选优质文档-----倾情为你奉上专心---专注---专业专心---专注---专业精选优质文档-----倾情为你奉上专心---专注---专业专业综合设计报告题目餐饮管理系统

目录1.概述1.1开发环境、工具和方法在LINUXREDHAT5环境下,使用QT编写图形界面,使用UNIXC函数库。数据的存取不借助数据库,直接进行文件存取。1.2功能简介1.对房台、员工和菜单信息进行管理和查询(可按价格和分类等)2.能够订桌,点菜,并实现并台服务;3.能够结帐、欠账,实现当日(月、年)统计结算;4.对使用系统的用户进行权限管理。2.软件功能设计餐饮管理系统主要包括以下模块:用户管理模块、菜肴管理模块、营业管理模块、预定管理模块、外卖管理模块(选做)、员工管理模块。1用户管理模块用户管理模块主要实现以下功能:编辑用户信息,即用户可以修改信息,其中普通用户只能修改自身信息,超级用户能修改自身和其他管理员的信息;添加新用户,新的管理员可以再注册,简历其用户名和密码。2菜肴管理模块菜肴管理模块主要实现以下功能:菜肴基本信息的浏览,可以浏览各个菜肴的单价、备注等:菜肴基本信息的编辑,管理员可以在此编辑菜肴的基本信息;添加菜肴信息,挡有新的菜肴进入饭店时,在此添加信息。3营业管理模块营业管理模块主要实现以下功能:点菜,通过输入桌号、菜名及备注来点菜;查询点菜信息,通过输入桌号查询该卓是否有点菜信息,遗迹信息内容;结账,输入桌号,可浏览该桌消费内容以及可以享受的折扣服务,并在此结账。4预定管理模块预定模块主要实现以下功能:添加预定信息,在此模块中通过添加预定时间、人数、桌号、客户姓名、客户电话等添加预定饭菜信息;修改预定信息,如果预定信息中有需要改动的信息,可以在此修改,也可以删除预订信息,及取消预定。5员工管理模块员工模块主要实现以下功能:浏览员工基本信息,打开该页面后,可以浏览员工的基本信息,包括职工姓名、编号、性别、民族、电话等;编辑员工基本信息,想要修改员工信息,可以在此编辑修改;添加员工基本信息,有新的员工加入时,在此添加他们的新信息。3.编码设计测试3.1用户登录界面及核心代码 intfd=open("user.dat",O_RDWR); inti=0; intr=1; usersa; usersb; while(1) { r=pread(fd,a.username,12,i*28); if(r<=0)break; // MyAlert(); pread(fd,a.password,12,i*28+12); pread(fd,&a.level,4,i*28+24); QStringtext=line1->text(); QStringtext2=line2->text(); memcpy(b.username,text.toAscii().constData(),12); memcpy(b.password,text2.toAscii().constData(),12); if(strcmp(a.username,b.username)==0) { if(strcmp(a.password,b.password)==0) session=a.level; win1->close(); win2->setEnabled(true); win2->resize(800,600); win2->move((1024-800)/2,(768-600)/2); if(session==0) { btn3->setEnabled(false); } } i++; }3.2用户管理界面及核心代码voidMyWindow::query1(){intfd=open("user.dat",O_RDWR); usersq1; intr; inti=5; while(i) { r=read(fd,&q1,sizeof(q1)); if(r<=0)break; table1->setItem(5-i,1,newQTableWidgetItem(q1.username)); table1->setItem(5-i,2,newQTableWidgetItem(q1.password)); table1->setItem(5-i,3,newQTableWidgetItem(QString::number(q1.level))); i--; }}3.3菜肴管理界面及核心代码voidMyWindow::query2(){ intfd=open("food.dat",O_RDWR); foodsq2; intr; inti=5; while(i) { r=read(fd,&q2,sizeof(q2)); if(r<=0)break; table2->setItem(5-i,0,newQTableWidgetItem(q2.foodnum)); table2->setItem(5-i,1,newQTableWidgetItem(q2.foodname)); table2->setItem(5-i,2,newQTableWidgetItem(QString::number(q2.price))); table2->setItem(5-i,3,newQTableWidgetItem(q2.text)); i--; }}3.4预定管理界面及核心代码voidMyWindow::query4(){ intfd=open("book.dat",O_RDWR); booksq4; intr; inti=5; charinfo3[20]; while(i) { r=read(fd,&q4,sizeof(q4)); if(r<=0)break; table4->setItem(5-i,0,newQTableWidgetItem(q4.booknum)); sprintf(info3,"%02d:%02d:%02d", q4.booktime.hour,q4.booktime.minute,q4.booktime.second); table4->setItem(5-i,2,newQTableWidgetItem(info3)); table4->setItem(5-i,3,newQTableWidgetItem(QString::number(q4.eaternum))); table4->setItem(5-i,4,newQTableWidgetItem(QString::number(q4.tablenum))); table4->setItem(5-i,5,newQTableWidgetItem(q4.foodname)); table4->setItem(5-i,6,newQTableWidgetItem(QString::number(q4.price))); table4->setItem(5-i,7,newQTableWidgetItem(q4.text)); table4->setItem(5-i,8,newQTableWidgetItem(q4.eatername)); table4->setItem(5-i,9,newQTableWidgetItem(q4.phone)); i--; }}3.5员工界面及核心代码voidMyWindow::edit11(){ intfd=open("clark.dat",O_RDWR); clarksedit11; intr; inti=1; while(i) { memcpy(edit11.workernum,table3->item(0,0)->text().toAscii().constData(),12); memcpy(edit11.workername,table3->item(0,1)->text().toAscii().constData(),12); memcpy(&edit11.sex,table3->item(0,2)->text().toAscii().constData(),1); memcpy(edit11.group,table3->item(0,3)->text().toAscii().constData(),12); memcpy(edit11.from,table3->item(0,4)->text().toAscii().constData(),12); QstrtoDates(table3->item(0,5)->text()); edit11.birth=a3; QstrtoDates2(table3->item(0,6)->text()); edit11.workfromdate=a4; memcpy(edit11.addr,table3->item(0,7)->text().toAscii().constData(),12); memcpy(edit11.phone,table3->item(0,8)->text().toAscii().constData(),12); lseek(fd,0,SEEK_SET); r=write(fd,&edit11,sizeof(edit11)); if(r<=0)break; i--; }}3.6营业管理界面及核心代码3.6.1查询点菜信息界面及代码voidMyWindow::needfood(){ intfd=open("needfood.dat",O_RDWR); inti=1; intr; needfoodsa; while(i) { QStringtext3=line3->text(); QStringtext4=line4->text(); QStringtext5=line5->text(); QStringtext6=line6->text(); memcpy(a.foodnum,text3.toAscii().constData(),12); memcpy(a.foodname,text4.toAscii().constData(),12); memcpy(a.text,text5.toAscii().constData(),12); a.tablenum=text6.toInt(); lseek(fd,0,SEEK_END); r=write(fd,&a,sizeof(a)); if(r<=0)break; i--; }}3.6.2查询点菜信息界面及代码voidMyWindow::query5(){ intfd=open("needfood.dat",O_RDWR); needfoodsq2; inttnum; intr; inti=5; tnum=line7->text().toInt(); while(1) { r=read(fd,&q2,sizeof(q2)); if(r<=0)break; if(q2.tablenum==tnum) { table5->setItem(5-i,0,newQTableWidgetItem(QString::number(q2.tablenum))); table5->setItem(5-i,1,newQTableWidgetItem(q2.foodnum)); table5->setItem(5-i,2,newQTableWidgetItem(q2.foodname)); table5->setItem(5-i,3,newQTableWidgetItem(q2.text)); i--; } }}3.6.3结账界面及代码voidMyWindow::query6(){ intfd=open("needfood.dat",O_RDWR); needfoodsq; inttnum; intr; inti=5; intr2; tnum=line8->text().toInt(); intt; while(1) { r=read(fd,&q,sizeof(q)); if(r<=0)break; if(q.tablenum==tnum) { table6->setItem(5-i,0,newQTableWidgetItem(QString::number(q.tablenum))); table6->setItem(5-i,1,newQTableWidgetItem(q.foodnum)); table6->setItem(5-i,2,newQTableWidgetItem(q.foodname)); table6->setItem(5-i,3,newQTableWidgetItem(q.text)); intfd2=open("food.dat",O_RDWR); foodsq2; while(1) { r2=read(fd2,&q2,sizeof(q2)); if(r2<=0)break;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论