2022年C#餐饮管理系统课程设计 .pdf
1计算机应用软件课程设计报告项目名称餐饮管理系统班级学号姓名指导老师完成日期2011-12-25名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告2目录一、需求分析 .31.1 数据需求 .31.2 总体设计 .31.3 流程图 .4二、总体设计 .52.1 登录窗体的设计 .52.2 注册用户界面设计 .62.3 主窗体设计 .62.4 基础信息 .72.4.1 基础信息 -桌台信息 .72.4.2 基础信息 职工信息 .82.5 辅助工具 .82.6 系统维护 .92.6.1 系统维护 权限管理 .92.6.2 系统维护 添加用户 .92.7 系统设置 .92.7.1 系统设置 修改密码 .92.7.2 系统设置 锁定系统 .102.8 帮助.102.9 快捷菜单 .112.9.1 开台.112.9.2 点 加菜.112.9.3 消费查询 .125.9.4 结账.12三、详细设计 .123.1 登录部分代码 .133.2 主界面的代码 .153.3 职工信息查询代码 .203.4 桌台信息查询代码 .233.5 辅助工具 .233.6 修改密码、添加用户、注册用户功能代码.233.7 桌台基本信息(双击桌台图标后)代码.263.8 开台部分代码 .263.9 结账部分代码 .283.10点 加菜部分代码 .303.11消费查询部分代码 . 353.12用户权限管理代码 .36四、单元测试与组装测试.38五、总结 .38六、参考文献 .38名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告3一、需求分析随着餐饮业的不断发展, 餐饮管理系统的内容对于决策者和管理者来说都非常重要。本系统主要包括桌台显示、消费查询。人事档案及权限等几大部分,具有良好的用户接口, 使用方便,具有完善的查询, 对维护系统起到辅助决策的作用,能及时、方便、灵动地进行查询、修改、删除等维护性操作。餐饮管理系统有足够的存储容量, 满足酒店每日营业的变动, 另外,对于操作用户有一定的管理,并对用户的权限有一定的设置超级管理员拥有所有权限。 经理除了系统维护外, 其他操纵都可以,普通用户只能实现辅助工具的使用权限。1.1 数据需求Tb_food-存储食品的Tb_foodtype-存储食品的类别Tb_Waiter-存储所有职员信息Tb_User-存储管理用户信息Tb_Room-存储餐厅桌台信息Tb_GuestFood-存储消费信息1.2 总体设计餐饮管理系统基础信息辅助工具系统维护帮助退出桌台信息职员信息日历计算器记事本添加用户关于退出系统系统设置权限管理修改密码锁定系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告41.3 流程图桌台开台点 加菜消 费 查结账单天总营业额的查询名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告5二、总体设计2.1 登录窗体的设计用户信息 ER 图用户信息Tb_User系统编号ID用户名Username用 户 权 限power用户密码UserPwd名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告6点击登录进入主窗体,点击注册账号则进入注册用户界面2.2 注册用户界面设计默认注册的用户类型只能是一般用户2.3 主窗体设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告72.4 基础信息2.4.1 基础信息 -桌台信息有增加、删除、查询桌台信息的功能双击图标是桌台基本信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告82.4.2 基础信息 职工信息2.5 辅助工具2.5.1 辅助工具 日历2.5.2 辅助工具 计算器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告92.5.3 辅助工具 记事本2.6 系统维护2.6.1 系统维护 权限管理2.6.2 系统维护 添加用户2.7 系统设置名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告102.7.1 系统设置 修改密码2.7.2 系统设置 锁定系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告112.8 帮助2.9 快捷菜单2.9.1 开台名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告122.9.2 点 加菜2.9.3 消费查询5.9.4 结账名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告13三、详细设计3.1 登录部分代码namespace MyCyMS/ 登陆界面publicpartialclassfrmLogin:Formpublicintm=0;publicfrmLogin()InitializeComponent();privatevoidfrmLogin_Load_1(objectsender,EventArgse)/System.Windows.Forms.Control.Top.get;txtName.Focus();privatevoidtxtPwd_KeyPress(objectsender,KeyPressEventArgse)if(e.KeyChar= 13)btnSubmit_Click(sender,e);/ 点击登录按钮privatevoidbtnSubmit_Click(objectsender,EventArgse)if(txtName.Text= )MessageBox.Show(请输入用户名 ,警告,MessageBoxButtons.OK,MessageBoxIcon.Warning);elseSqlConnectionconn = BaseClass.BaseClass.CyCon();conn.Open();SqlCommandcmd = new SqlCommand(selectcount(*)fromtb_Userwhere名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告14UserName= + txtName.Text+ and UserPwd=+ txtPwd.Text+ ,conn);inti= Convert.ToInt32(cmd.ExecuteScalar();if(i 0)cmd = new SqlCommand(select* fromtb_Userwhere UserName= +txtName.Text+ ,conn);SqlDataReadersdr= cmd.ExecuteReader();sdr.Read();stringUserPower = sdrpower.ToString().Trim();conn.Close();frmMainmain = new frmMain();main.power= UserPower;/ 记录登录用户的权限main.Names = txtName.Text;/用户名/frmChangePwd.n/main.Times= DateTime.Now.ToShortDateString();/只输出日期main.Times= DateTime.Now.ToString();/记录登录时间main.Show();this.Hide();elsem+;if(m = 3)btnSubmit.Enabled= false;MessageBox.Show(密码错误 3次,请退出 !);elseMessageBox.Show(用户名或密码错误 );privatevoidbtConcel_Click(objectsender,EventArgse)Application.Exit();/ 点击注册账号 .i=2 表示这册用户界面privatevoidbutton2_Click(objectsender,EventArgse)frmChangePwd a = new frmChangePwd();a.i= 2;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告15a.ShowDialog();/如果点击用户名文本框 ,里面的文本清空 ,用户即可输出用户名privatevoidtxtName_Click(objectsender,EventArgse)txtName.Text= ;3.2 主界面的代码namespace MyCyMSpublicpartialclassfrmMain : FormpublicfrmMain()InitializeComponent();publicSqlDataReadersdr;publicstringpower;publicstringNames;publicstringTimes;privatevoidfrmMain_Load(objectsender,EventArgse)switch(power)case 0:toolStripStatusLabel12.Text= 超级管理员 ;break;case 1:toolStripStatusLabel12.Text= 经理;break;case 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;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告16privatevoidAddItems(stringrzt)if(rzt= 使用)lvDesk.Items.Add(sdrRoomName.ToString(),1);elselvDesk.Items.Add(sdrRoomName.ToString(),0);privatevoid开台ToolStripMenuItem_Click(objectsender,EventArgse)if(lvDesk.SelectedItems.Count!=0)stringnames = lvDesk.SelectedItems0.SubItems0.Text;frmOpen openroom = new frmOpen();openroom.name = names;openroom.ShowDialog();elseMessageBox.Show(请选择桌台 );privatevoid点加菜ToolStripMenuItem_Click(objectsender,EventArgse)if(lvDesk.SelectedItems.Count!=0)stringnames = lvDesk.SelectedItems0.SubItems0.Text;frmJZD dc = new frmJZD();dc.RName = names;dc.ShowDialog();elseMessageBox.Show(请选择桌台 );privatevoid结账ToolStripMenuItem_Click(objectsender,EventArgse)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告17if(lvDesk.SelectedItems.Count!=0)stringnames = lvDesk.SelectedItems0.SubItems0.Text;frmPayOffpayoff= new frmPayOff();payoff.RName= names;payoff.ShowDialog();elseMessageBox.Show(请选择桌台 );privatevoidfrmMain_Activated(objectsender,EventArgse)lvDesk.Items.Clear();SqlConnectionconn = BaseClass.BaseClass.CyCon();conn.Open();SqlCommandcmd = new SqlCommand(select* from tb_Room,conn);sdr= cmd.ExecuteReader();while(sdr.Read()stringzt= sdrRoomZT.ToString().Trim();AddItems(zt);conn.Close();privatevoid消费查询 ToolStripMenuItem_Click(objectsender,EventArgse)if(lvDesk.SelectedItems.Count!=0)stringnames = lvDesk.SelectedItems0.SubItems0.Text;frmSerchserch = new frmSerch();serch.RName = names;serch.ShowDialog();elseMessageBox.Show(请选择桌台 );privatevoidlvDesk_DoubleClick(objectsender,EventArgse)frmDetatlesdetails= new frmDetatles();details.TableName= lvDesk.SelectedItems0.SubItems0.Text;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告18details.ShowDialog();privatevoidlvDesk_Click(objectsender,EventArgse)stringnames = lvDesk.SelectedItems0.SubItems0.Text;SqlConnectionconn = BaseClass.BaseClass.CyCon();conn.Open();SqlCommandcmd= new SqlCommand(select* from tb_Room where RoomName=+ names +,conn);SqlDataReadersdr= cmd.ExecuteReader();sdr.Read();stringzt= sdrRoomZT.ToString().Trim();sdr.Close();if(zt= 使用)this.contextMenuStrip1.Items0.Enabled= false;this.contextMenuStrip1.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.Enabled= false;this.contextMenuStrip1.Items5.Enabled= false;this.contextMenuStrip1.Items6.Enabled= false;conn.Close();privatevoid添加用户 ToolStripMenuItem1_Click(objectsender,EventArgse)frmChangePwd pwd = new frmChangePwd();/pwd.names= Names;pwd.i= 1;pwd.ShowDialog();privatevoid退出ToolStripMenuItem1_Click(objectsender,EventArgse)if(MessageBox.Show(确定退出本系统吗? ,提示,MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation)= DialogResult.OK)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告19Application.Exit();privatevoid帮助ToolStripMenuItem1_Click(objectsender,EventArgse)frmAboutab = new frmAbout();ab.ShowDialog();privatevoid锁定系统 ToolStripMenuItem1_Click(objectsender,EventArgse)frmLockm = new frmLock();m.ShowDialog();privatevoid权限管理 ToolStripMenuItem1_Click(objectsender,EventArgse)usermanagerpower = new usermanager();power.ShowDialog();privatevoid日历ToolStripMenuItem1_Click(objectsender,EventArgse)frmCalendercalender= new frmCalender();calender.ShowDialog();privatevoid计算器ToolStripMenuItem1_Click(objectsender,EventArgse)System.Diagnostics.Process.Start(calc.exe);privatevoid记事本ToolStripMenuItem1_Click(objectsender,EventArgse)System.Diagnostics.Process.Start(notepad.exe);privatevoid桌台信息 ToolStripMenuItem1_Click(objectsender,EventArgse)frmDesk desk = new frmDesk();desk.ShowDialog();名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告20privatevoid职员信息 ToolStripMenuItem1_Click(objectsender,EventArgse)frmUserusers= new frmUser();users.ShowDialog();3.3 职工信息查询代码namespace MyCyMSpublicpartialclassfrmUser: FormpublicfrmUser()InitializeComponent();privatevoidbtQuery_Click(objectsender,EventArgse)BindData();privatevoidBindData()SqlConnectionconn = BaseClass.BaseClass.CyCon();SqlDataAdaptersda = new SqlDataAdapter(selectID,WaiterName姓名,CardNum 身份证号,WaiterNum服务员编号 ,Sex性别,Age年龄,Tell电话号码from tb_Waiterorderby ID ,conn);DataSetds = new DataSet();sda.Fill(ds);dataGridView1.DataSource= ds.Tables0;/ 修改按钮privatevoidbutton1_Click(objectsender,EventArgse)btReWrite.Enabled= false;btSave.Enabled= true;btConcle.Enabled= true;txtname.Enabled= false;txtAge.Enabled= true;txtIDcard.Enabled= true;txtWaiterNum.Enabled= true;txtTel.Enabled= true;cbSex.Enabled= true;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告21privatevoidbtExit_Click(objectsender,EventArgse)this.Close();privatevoidbtReWrite_Click(objectsender,EventArgse)txtname.Text= ;txtAge.Text= ;txtIDcard.Text= ;txtTel.Text= ;txtWaiterNum.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;privatevoidbtDelete_Click(objectsender,EventArgse)SqlConnectionconn = BaseClass.BaseClass.CyCon();conn.Open();SqlCommandcmd = new SqlCommand(deletefrom tb_Waiterwhere ID=+dataGridView1.SelectedCells0.Value.ToString()+ ,conn);cmd.ExecuteNonQuery();conn.Close();BindData();privatevoidbtSave_Click(objectsender,EventArgse)SqlConnectionconn = BaseClass.BaseClass.CyCon();conn.Open();SqlCommandcmd= new SqlCommand(selectcount(*)from tb_Waiterwhere WaiterName=+ txtname.Text+ ,conn);inti= Convert.ToInt32(cmd.ExecuteScalar();if(i 0)cmd = new SqlCommand(update tb_WaitersetWaiterName=+ txtname.Text+名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告22,CardNum=+ txtIDcard.Text+ ,WaiterNum=+ txtWaiterNum.Text+ ,Sex=+cbSex.SelectedItem.ToString()+ ,Age=+ txtAge.Text+ ,Tell=+ txtTel.Text+ whereID=+ dataGridView1.SelectedCells0.Value.ToString()+ ,conn);cmd.ExecuteNonQuery();conn.Close();BindData();btReWrite.Enabled= true;btChange.Enabled= false;btSave.Enabled= false;btQuery.Enabled= true;btConcle.Enabled= false;btDelete.Enabled= false;btExit.Enabled= true;txtname.Enabled= false;elsecmd = new SqlCommand(insertintotb_Waiter(WaiterName,CardNum,WaiterNum,Sex,Age,Tell)values(+ txtname.Text+ ,+txtIDcard.Text+ ,+ txtWaiterNum.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.Enabled= true;txtname.Enabled= false;txtname.Enabled= false;privatevoidfrmUser_Load(objectsender,EventArgse)cbSex.SelectedIndex= 0;privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse)trytxtname.Text= dataGridView1.SelectedCells1.Value.ToString();名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告23txtIDcard.Text= 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(Exceptionerr)MessageBox.Show(不能单击单元格 + err.ToString(),错误!);3.4 桌台信息查询代码与职工信息查询相似3.5 辅助工具调用系统的日历,计算器、记事本功能3.6 修改密码、添加用户、注册用户功能代码这三部分共用一个界面,用代码控制不同部分的显示namespace MyCyMSpublicpartialclassfrmChangePwd : Formstringconnectionstring=server=20110226-2024;uid=sa;pwd=123;database=db_MrCy;connecttimeout=30;publicSqlCommandcmd = new SqlCommand();publicstringdataTableName = tb_User;publicfrmChangePwd()InitializeComponent();publicstringnames;publicinti;privatevoidbtSave_Click(objectsender,EventArgse)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告24SqlConnectionconn = new SqlConnection(connectionstring);cmd.CommandType= CommandType.Text;cmd.Connection= conn;stringsql= updatetb_UsersetUserPwd=+ txtPwd1.Text.ToString();sql= sql+ where username=+ txtUserName.Text.ToString()+ ;cmd.CommandText= sql;if(txtPwd1.Text= txtPwd2.Text)tryconn.Open();if(MessageBox.Show(确实要修改该记录吗? ,提示,MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation)= DialogResult.OK)intn = cmd.ExecuteNonQuery();MessageBox.Show(修改用户密码成功! );catch(Exceptionerr)MessageBox.Show(修改用户密码失败!+ err.ToString();elseMessageBox.Show(确认密码错误!请重新输入);txtPwd2.Text= ;txtPwd2.Focus();privatevoidbtConcle_Click(objectsender,EventArgse)this.Close();privatevoidbuttonAdd_Click(objectsender,EventArgse)textBoxUserName.Text= ;textBoxUserPwd.Text= ;textBoxUserPwd1.Text= ;textBoxUserPower.Text= 2;textBoxUserName.Focus();buttonAdd.Enabled= false;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 38 页 - - - - - - - - - 计算机应用软件课程设计报告25buttonSave.Enabled= true;privatevoidbuttonSave_Click(objectsender,EventArgse)SqlConnectionconn = new SqlConnection(connectionstring);cmd.CommandType= CommandType.Text;cmd.Connection= conn;stringsql= insertintotb_User(username,userpwd,power)values(;sql = sql + textBoxUserName.Text.ToString()+,+ textBoxUserPwd.Text.ToString()+ ,+ textBoxUserPower.T