




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机应用软件课程设计报告计算机应用软件课程设计报告项目名称 餐饮管理系统 班级学号 姓 名 指导老师 完成日期 2011-12-25 目录一、需求分析21.1数据需求21.2总体设计21.3流程图2二、总体设计22.1登录窗体的设计22.2注册用户界面设计22.3主窗体设计22.4基础信息22.4.1基础信息-桌台信息22.4.2基础信息职工信息22.5辅助工具22.6 系统维护22.6.1系统维护权限管理22.6.2系统维护添加用户22.7系统设置22.7.1系统设置修改密码22.7.2系统设置锁定系统22.8帮助22.9快捷菜单22.9.1开台22.9.2点加菜22.9.3消费查询25.
2、9.4结账2三、详细设计23.1登录部分代码23.2主界面的代码23.3职工信息查询代码23.4桌台信息查询代码23.5辅助工具23.6修改密码、添加用户、注册用户功能代码23.7桌台基本信息(双击桌台图标后)代码23.8开台部分代码23.9结账部分代码23.10点加菜部分代码23.11消费查询部分代码23.12用户权限管理代码2四、单元测试与组装测试2五、总结2六、参考文献2一、需求分析随着餐饮业的不断发展,餐饮管理系统的内容对于决策者和管理者来说都非常重要。本系统主要包括桌台显示、消费查询。人事档案及权限等几大部分,具有良好的用户接口,使用方便,具有完善的查询,对维护系统起到辅助决策的作用
3、,能及时、方便、灵动地进行查询、修改、删除等维护性操作。餐饮管理系统有足够的存储容量,满足酒店每日营业的变动,另外,对于操作用户有一定的管理,并对用户的权限有一定的设置超级管理员拥有所有权限。经理除了系统维护外,其他操纵都可以,普通用户只能实现辅助工具的使用权限。1.1数据需求tb_food-存储食品的tb_foodtype-存储食品的类别tb_waiter-存储所有职员信息tb_user-存储管理用户信息tb_room-存储餐厅桌台信息tb_guestfood-存储消费信息1.2总体设计餐饮管理系统辅助工具系统维护基础信息帮助系统设置退出添加用户锁定系统修改密码权限管理记事本计算器日历职员信
4、息桌台信息退出系统关于结账消费查询点加菜开台单天总营业额的查询桌台1.3流程图二、总体设计2.1登录窗体的设计用户信息tb_user系统编号id用户名username用户权限power用户密码userpwd用户信息er图点击登录进入主窗体,点击注册账号则进入注册用户界面2.2注册用户界面设计默认注册的用户类型只能是一般用户2.3主窗体设计2.4基础信息2.4.1基础信息-桌台信息可实现添加加、修改有增加、删除、查询 桌台信息的功能双击图标是桌台基本信息双击桌台图标显2.4.2基础信息职工信息2.5辅助工具2.5.1辅助工具日历2.5.2辅助工具计算器2.5.3辅助工具记事本2.6 系统维护2.
5、6.1系统维护权限管理2.6.2系统维护添加用户2.7系统设置2.7.1系统设置修改密码2.7.2系统设置锁定系统2.8帮助2.9快捷菜单2.9.1开台2.9.2点加菜2.9.3消费查询5.9.4结账三、详细设计3.1登录部分代码namespace mycyms /登陆界面 public partial class frmlogin :form public int m=0; public frmlogin() initializecomponent(); private void frmlogin_load_1(object sender, eventargs e) / system.win
6、dows.forms.control.top.get; txtname.focus(); private void txtpwd_keypress(object sender, keypresseventargs e) if (e.keychar = 13) btnsubmit_click(sender, e); /点击登录按钮 private void btnsubmit_click(object sender, eventargs e) if (txtname.text = ) messagebox.show(请输入用户名, 警告, messageboxbuttons.ok, messag
7、eboxicon.warning); else sqlconnection conn = baseclass.baseclass.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(select count(*) from tb_user where username= + txtname.text + and userpwd= + txtpwd.text + , conn); int i = convert.toint32(cmd.executescalar(); if (i 0) cmd = new sqlcommand(select
8、 * from tb_user where username= + txtname.text + , conn); sqldatareader sdr = cmd.executereader(); sdr.read(); string userpower = sdrpower.tostring().trim(); conn.close(); frmmain main = new frmmain(); main.power = userpower;/记录登录用户的权限 main.names = txtname.text;/用户名 /frmchangepwd.n / main.times = da
9、tetime.now.toshortdatestring();/只输出日期 main.times = datetime.now.tostring();/记录登录时间 main.show(); this.hide(); else m+; if (m = 3) btnsubmit.enabled = false; messagebox.show(密码错误3次,请退出!); else messagebox.show(用户名或密码错误); private void btconcel_click(object sender, eventargs e) application.exit(); /点击注册账
10、号.i=2表示这册用户界面 private void button2_click(object sender, eventargs e) frmchangepwd a = new frmchangepwd(); a.i = 2; a.showdialog(); / 如果点击用户名文本框,里面的文本清空,用户即可输出用户名 private void txtname_click(object sender, eventargs e) txtname.text = ; 3.2主界面的代码namespace mycyms public partial class frmmain : form publ
11、ic frmmain() initializecomponent(); public sqldatareader sdr; public string power; public string names; public string times; private void frmmain_load(object sender, eventargs e) switch (power) case 0: toolstripstatuslabel12.text = 超级管理员; break; case 1: toolstripstatuslabel12.text = 经理; break; case
12、2: toolstripstatuslabel12.text = 一般用户; break; toolstripstatuslabel15.text = names; toolstripstatuslabel14.text = times; if (power = 2) 系统维护toolstripmenuitem1.enabled = false; 基础信息toolstripmenuitem1.enabled = false; if (power = 1) 系统维护toolstripmenuitem1.enabled = false; private void additems(string r
13、zt) if (rzt = 使用) lvdesk.items.add(sdrroomname.tostring(), 1); else lvdesk.items.add(sdrroomname.tostring(), 0); private void 开台toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.selecteditems0.subitems0.text; frmopen openroom = new frmopen
14、(); = names; openroom.showdialog(); else messagebox.show(请选择桌台); private void 点加菜toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.selecteditems0.subitems0.text; frmjzd dc = new frmjzd(); dc.rname = names; dc.showdialog(); el
15、se messagebox.show(请选择桌台); private void 结账toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.selecteditems0.subitems0.text; frmpayoff payoff = new frmpayoff(); payoff.rname = names; payoff.showdialog(); else messagebox.show(请选择桌台); private
16、void frmmain_activated(object sender, eventargs e) lvdesk.items.clear(); sqlconnection conn = baseclass.baseclass.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(select * from tb_room, conn); sdr = cmd.executereader(); while (sdr.read() string zt = sdrroomzt.tostring().trim(); additems(zt); co
17、nn.close(); private void 消费查询toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.selecteditems0.subitems0.text; frmserch serch = new frmserch(); serch.rname = names; serch.showdialog(); else messagebox.show(请选择桌台); private void lvdesk_double
18、click(object sender, eventargs e) frmdetatles details = new frmdetatles(); details.tablename = lvdesk.selecteditems0.subitems0.text; details.showdialog(); private void lvdesk_click(object sender, eventargs e) string names = lvdesk.selecteditems0.subitems0.text; sqlconnection conn = baseclass.basecla
19、ss.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(select * from tb_room where roomname= + names + , conn); sqldatareader sdr = cmd.executereader(); sdr.read(); string zt = sdrroomzt.tostring().trim(); sdr.close(); if (zt = 使用) this.contextmenustrip1.items0.enabled = false; this.contextmenustr
20、ip1.items1.enabled = true; this.contextmenustrip1.items3.enabled = true; this.contextmenustrip1.items5.enabled = true; this.contextmenustrip1.items6.enabled = true; if (zt = 待用) this.contextmenustrip1.items0.enabled = true; this.contextmenustrip1.items1.enabled = false; this.contextmenustrip1.items3
21、.enabled = false; this.contextmenustrip1.items5.enabled = false; this.contextmenustrip1.items6.enabled = false; conn.close(); private void 添加用户toolstripmenuitem1_click(object sender, eventargs e) frmchangepwd pwd = new frmchangepwd(); /s = names; pwd.i = 1; pwd.showdialog(); private void 退出t
22、oolstripmenuitem1_click(object sender, eventargs e) if (messagebox.show(确定退出本系统吗?, 提示, messageboxbuttons.okcancel, messageboxicon.exclamation) = dialogresult.ok) application.exit(); private void 帮助toolstripmenuitem1_click(object sender, eventargs e) frmabout ab = new frmabout(); ab.showdialog(); pri
23、vate void 锁定系统toolstripmenuitem1_click(object sender, eventargs e) frmlock m = new frmlock(); m.showdialog(); private void 权限管理toolstripmenuitem1_click(object sender, eventargs e) usermanager power = new usermanager(); power.showdialog(); private void 日历toolstripmenuitem1_click(object sender, eventa
24、rgs e) frmcalender calender = new frmcalender(); calender.showdialog(); private void 计算器toolstripmenuitem1_click(object sender, eventargs e) system.diagnostics.process.start(calc.exe); private void 记事本toolstripmenuitem1_click(object sender, eventargs e) system.diagnostics.process.start(notepad.exe);
25、 private void 桌台信息toolstripmenuitem1_click(object sender, eventargs e) frmdesk desk = new frmdesk(); desk.showdialog(); private void 职员信息toolstripmenuitem1_click(object sender, eventargs e) frmuser users = new frmuser(); users.showdialog(); 3.3职工信息查询代码namespace mycyms public partial class frmuser :
26、form public frmuser() initializecomponent(); private void btquery_click(object sender, eventargs e) binddata(); private void binddata() sqlconnection conn = baseclass.baseclass.cycon(); sqldataadapter sda = new sqldataadapter(select id,waitername 姓名,cardnum 身份证号,waiternum 服务员编号,sex 性别,age 年龄,tell 电话
27、号码 from tb_waiter order by id , conn); dataset ds = new dataset(); sda.fill(ds); datagridview1.datasource = ds.tables0; /修改按钮 private void button1_click(object sender, eventargs e) btrewrite.enabled = false; btsave.enabled = true; btconcle.enabled = true; txtname.enabled = false; txtage.enabled = tr
28、ue; txtidcard.enabled = true; txtwaiternum.enabled = true; txttel.enabled = true; cbsex.enabled = true; private void btexit_click(object sender, eventargs e) this.close(); private void btrewrite_click(object sender, eventargs e) txtname.text = ; txtage.text = ; txtidcard.text = ; txttel.text = ; txt
29、waiternum.text = ; txtname.enabled = true; txtage.enabled = true; txtidcard.enabled = true; txtwaiternum.enabled = true; txttel.enabled = true; cbsex.enabled = true; btchange.enabled = false; btdelete.enabled = true; btsave.enabled = true; private void btdelete_click(object sender, eventargs e) sqlc
30、onnection conn = baseclass.baseclass.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(delete from tb_waiter where id= + datagridview1.selectedcells0.value.tostring() + , conn); cmd.executenonquery(); conn.close(); binddata(); private void btsave_click(object sender, eventargs e) sqlconnection c
31、onn = baseclass.baseclass.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(select count(*) from tb_waiter where waitername= + txtname.text + , conn); int i = convert.toint32(cmd.executescalar(); if (i 0) cmd = new sqlcommand(update tb_waiter set waitername= + txtname.text + ,cardnum= + txtidcar
32、d.text + ,waiternum= + txtwaiternum.text + ,sex= + cbsex.selecteditem.tostring() + ,age= + txtage.text + ,tell= + txttel.text + where id= + datagridview1.selectedcells0.value.tostring() + , conn); cmd.executenonquery(); conn.close(); binddata(); btrewrite.enabled = true; btchange.enabled = false; bt
33、save.enabled = false; btquery.enabled = true; btconcle.enabled = false; btdelete.enabled = false; btexit.enabled = true; txtname.enabled = false; else cmd = new sqlcommand(insert into tb_waiter(waitername,cardnum,waiternum,sex,age,tell) values( + txtname.text + , + txtidcard.text + , + txtwaiternum.
34、text + , + cbsex.selecteditem.tostring() + , + txtage.text + , + txttel.text + ), conn); cmd.executenonquery(); conn.close(); binddata(); btchange.enabled = true; btrewrite.enabled = true; btsave.enabled = false; btquery.enabled = true; btconcle.enabled = false; btdelete.enabled = true; btexit.enabl
35、ed = true; txtname.enabled = false; txtname.enabled = false; private void frmuser_load(object sender, eventargs e) cbsex.selectedindex = 0; private void datagridview1_cellclick(object sender, datagridviewcelleventargs e) try txtname.text = datagridview1.selectedcells1.value.tostring(); txtidcard.tex
36、t = datagridview1.selectedcells2.value.tostring(); txtwaiternum.text = datagridview1.selectedcells3.value.tostring(); cbsex.selecteditem = datagridview1.selectedcells4.value.tostring().trim(); txtage.text = datagridview1.selectedcells5.value.tostring(); txttel.text = datagridview1.selectedcells6.value.tostring(); btchange.enabled = true; btdelete.enabled = true; catch (exception err)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论