C#课程设计餐饮管理系统DOC.docx
《C#课程设计餐饮管理系统DOC.docx》由会员分享,可在线阅读,更多相关《C#课程设计餐饮管理系统DOC.docx(35页珍藏版)》请在冰豆网上搜索。
![C#课程设计餐饮管理系统DOC.docx](https://file1.bdocx.com/fileroot1/2023-2/25/7da4f95e-6e42-4413-aa4a-0c586184f7f5/7da4f95e-6e42-4413-aa4a-0c586184f7f51.gif)
C#课程设计餐饮管理系统DOC
郑州科技学院
C#课程设计
设计(论文)题目:
餐饮管理系统
所在院:
信息工程学院
专业班级:
10计算机科学与技术2班
**************************
学号:
*********
指导教师:
*******************
2013年1月8日
第一部分引言…………………………………………………………2
1.1课题意义……………………………………………………………………3
1.2课题内容……………………………………………………………4
第二部分需求分析……………………………………………………4
2.1需求分析………………………………………………………………5
2.2系统结构………………………………………………………………5
2.3系统设计………………………………………………………………5
第三部分总体设计……………………………………………………6
3.1餐饮结构图………………………………………………………………6
3.2基本业务图……………………………………………………………7
第四部分核心代码实现……………………………………………7
4.1登录模块实现……………………………………………………7
4.2主框架实现………………………………………………………11
4.3日历模块实现……………………………………………………20
4.4菜单模块……………………………………………………22
第五部分结束语……………………………………………………29
5.1主要…………………………………………………………30
5.2进一步改进方向…………………………………………………………31
第六部分参考文献……………………………………………31
第一部分引言
1.1课题意义
近年来,随着人民的生活水平的不断提高,餐饮业的消费持续增长,竞争愈来愈激烈。
然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点单,再到结账基本上由人工完成记录,这样做不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。
酒店作为传统的餐饮企业也存在这些问题,进货,库存有人工管理,客人点单需服务员记录并送至厨房,客人结账由手工记录,人力耗费大,客人等待时间长,管理效率低下,这就迫切需要标准的、高效率的计算机管理方式引导其发展,通过计算机管理该企业的日常运作,给管理者以决策参考的模型,来不断完善管理水平,提高工作效率。
改革开放二十多年来,我国餐饮业发展迅猛,日新月异,各种风味特色,各种经营形式,各种组织结构的餐饮企业星罗棋布,但“竞争激烈,生意难作”也成了餐饮业的“流行脖。
更新经营方式,拓展大众市场,建全餐饮业的“软硬”件设施,发展餐饮信息渠道是我国餐饮业应探索的主旋律。
所以,社会化,科学化,集锦化21世纪的发展方向。
当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不开的自行车、汽车一样。
我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
越来越多的管理人员意识到信息管理的重要性。
所以说科学化是二十一世纪餐饮业的主流
目前,国内的餐饮管理系统几种情况是:
中国的软件系统大多源自管理信息系统(MIS),从部门业务需求的角度出发设计。
管理信息系统设计的初衷是服务于学校内绝大多数的业务操作人员,将业务操作人员的重复性劳动予以初场户动化,即从管理理论抽象出理想化的业务管理模式,在基于该业务模式的摹础上实现低层次的数据处理或业务流程电子化。
管理信息系统的设计,是根据中小型学校业务单元的需求来编写的,一般无法满足多体制、多元化、多董组织结构的大型学校数据处理需求。
与国外同类应用系统及解决方案相比较,目前中国的管理软件还有一些缺憾:
第一,很多是从管理信息系统演变而来,虽然目前国内的管理软件已将模块功能扩展至学校管理或人才资本管理相关的整个业务领域,但系统在整体性、前瞻性和集成性方面仍有欠缺。
1.2课题内容
本课题是设计一个基于C#的餐饮管理系统。
本系统属于小型的餐饮管理系统,可以有效地对中小型餐厅消费进行管理,本系统应达到以下目标:
系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
实现对餐厅顾客开台、点菜/加菜、账目查询和结账等操作。
对用户输入的数据,进行严格的数据检验,尽可能的避免人为错误。
实现对消费账目自动结算。
实现对消费的历史记录进行查询,支持模糊查询。
系统应最大限度地实现易维护性和易操作性。
第二部分需求分析
2.1需求分析
作为餐饮管理系统,首先需要具有餐饮管理员可以运用系统来进行登记的功能。
在进行登记后,餐饮管理员就可以登录了,在登录以后可以对现有的信息的查看、修改等。
由于餐饮管理系统是信息管理系统,利用计算机网络的巨大潜在力量、数据信息的理念,从而减少人、物及财等方面上的消耗,完成合理的资源分配。
其开发的功能主要包括:
本课题是设计一个基于.NET的餐饮管理系统。
确的餐饮管理依据与辅助决策数据。
2.2系统结构
根据以上对餐饮管理系统的功能需求分析。
现对餐饮管理系统分析。
2.3系统设计
不管是管理员还是普通餐饮管理员登录系统都要进行正确的判断后,才能登入到系统,登录活动图如图4-2所示:
第三部分总体设计
3.1餐饮结构图
3.2业务流程图
第四部分核心代码实现
4.1登录模块实现
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Linq;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceMrCy
{
publicpartialclassfrmLogin:
Form
{
publicfrmLogin()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
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);
}
else
{
if(txtPwd.Text=="")
{
MessageBox.Show("请输入密码","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
else
{
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("select*fromtb_UserwhereUserName='"+txtName.Text+"'andUserPwd='"+txtPwd.Text+"'",conn);
SqlDataReadersdr=cmd.ExecuteReader();
sdr.Read();
if(sdr.HasRows)
{
sdr.Close();
cmd=newSqlCommand("select*fromtb_UserwhereUserName='"+txtName.Text+"'",conn);
SqlDataReadersdr1=cmd.ExecuteReader();
sdr1.Read();
stringUserPower=sdr1["power"].ToString().Trim();
conn.Close();
frmMainmain=newfrmMain();
main.power=UserPower;
main.Names=txtName.Text;
main.Times=DateTime.Now.ToShortDateString();
main.Show();
this.Hide();
}
else
{
MessageBox.Show("用户名或密码错误");
}
}
}
}
privatevoidbtnConcel_Click(objectsender,EventArgse)
{
if(MessageBox.Show("确定退出系统吗?
","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)
{
Application.Exit();
}
}
}
}
登陆界面如图
4.2主框架实现
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Linq;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespaceMrCy
{
publicpartialclassfrmMain:
Form
{
publicfrmMain()
{
InitializeComponent();
}
publicSqlDataReadersdr;
publicstringpower;
publicstringNames;
publicstringTimes;
privatevoidfrmMain_Load(objectsender,EventArgse)
{
switch(power)
{
case"0":
toolStripStatusLabel13.Text="超级管理员";break;
case"1":
toolStripStatusLabel13.Text="经理";break;
case"2":
toolStripStatusLabel13.Text="一般用户";break;
}
toolStripStatusLabel10.Text=Names;
toolStripStatusLabel16.Text=Times;
if(power=="2")
{
系统维护SToolStripMenuItem.Enabled=false;
基础信息MToolStripMenuItem.Enabled=false;
}
if(power=="1")
{
系统维护SToolStripMenuItem.Enabled=false;
}
}
privatevoidAddItems(stringrzt)
{
if(rzt=="使用")
{
lvDesk.Items.Add(sdr["RoomName"].ToString(),1);
}
else
{
lvDesk.Items.Add(sdr["RoomName"].ToString(),0);
}
}
privatevoid开台ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(lvDesk.SelectedItems.Count!
=0)
{
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
frmOpenopenroom=newfrmOpen();
openroom.name=names;
openroom.ShowDialog();
}
else
{
MessageBox.Show("请选择桌台");
}
}
privatevoidfrmMain_Activated(objectsender,EventArgse)
{
lvDesk.Items.Clear();
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("select*fromtb_Room",conn);
sdr=cmd.ExecuteReader();
while(sdr.Read())
{
stringzt=sdr["RoomZT"].ToString().Trim();
AddItems(zt);
}
conn.Close();
}
privatevoid点菜ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(lvDesk.SelectedItems.Count!
=0)
{
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
frmDCdc=newfrmDC();
dc.RName=names;
dc.ShowDialog();
}
else
{
MessageBox.Show("请选择桌台");
}
}
privatevoid消费查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(lvDesk.SelectedItems.Count!
=0)
{
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
frmSerchserch=newfrmSerch();
serch.RName=names;
serch.ShowDialog();
}
else
{
MessageBox.Show("请选择桌台");
}
}
privatevoid结账ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(lvDesk.SelectedItems.Count!
=0)
{
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
frmJZjz=newfrmJZ();
jz.Rname=names;
jz.ShowDialog();
}
else
{
MessageBox.Show("请选择桌台");
}
}
privatevoidlvDesk_DoubleClick(objectsender,EventArgse)
{
frmDetailsdetails=newfrmDetails();
details.TableName=lvDesk.SelectedItems[0].SubItems[0].Text;
details.ShowDialog();
}
privatevoidlvDesk_Click(objectsender,EventArgse)
{
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("select*fromtb_RoomwhereRoomName='"+names+"'",conn);
SqlDataReadersdr=cmd.ExecuteReader();
sdr.Read();
stringzt=sdr["RoomZT"].ToString().Trim();
sdr.Close();
if(zt=="使用")
{
this.contextMenuStrip1.Items[0].Enabled=false;
this.contextMenuStrip1.Items[1].Enabled=true;
this.contextMenuStrip1.Items[3].Enabled=true;
this.contextMenuStrip1.Items[5].Enabled=true;
this.contextMenuStrip1.Items[6].Enabled=true;
}
if(zt=="待用")
{
this.contextMenuStrip1.Items[0].Enabled=true;
this.contextMenuStrip1.Items[1].Enabled=false;
this.contextMenuStrip1.Items[3].Enabled=false;
this.contextMenuStrip1.Items[5].Enabled=false;
this.contextMenuStrip1.Items[6].Enabled=false;
}
conn.Close();
}
privatevoid取消开台toolStripMenuItem_Click(objectsender,EventArgse)
{
if(lvDesk.SelectedItems.Count!
=0)
{
stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;
SqlConnectionconn=BaseClass.DBConn.CyCon();
conn.Open();
SqlCommandcmd=newSqlCommand("updatetb_RoomsetRoomZT='待用',Num=0whereRoomName='"+names+"'",conn);
cmd.ExecuteNonQuery();
cmd=newSqlCommand("deletefromtb_GuestFoodwherezhuotai='"+names+"'",conn);
cmd.ExecuteNonQuery();
conn.Close();
frmMain_Activated(sender,e);
}
else
{
MessageBox.Show("请选择桌台");
}
}
privatevoid桌台信息ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmDeskdesk=newfrmDesk();
desk.ShowDialog();
}
privatevoid职员信息ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmUserusers=newfrmUser();
users.ShowDialog();
}
privatevoid日历ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmCalendercalender=newfrmCalender();
calender.ShowDialog();
}
privatevoid记事本ToolStripMenuItem1_Click(objectsender,EventArgse)
{
System.Diagnostics.Process.Start("notepad.exe");
}
privatevoid计算器ToolStripMenuItem1_Click(objectsender,EventArgse)
{
System.Diagnostics.Process.Start("calc.exe");
}
privatevoid权限管理ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmQxGlqx=newfrmQxGl();
qx.ShowDialog();
}
privatevoid系统备份ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmBFbf=newfrmBF();
bf.ShowDialog();
}
privatevoid系统恢复ToolStripMenuItem1_Click(objectsender,EventArgse)
{
sdr.Close();
sdr.Dispose();
frmHFhf=newfrmHF();
hf.ShowDialog();
}
privatevoid口令设置ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmPwdpwd=newfrmPwd();
pwd.