畢業(yè)設(shè)計(jì)(論文)餐飲管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)(論文)餐飲管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)(論文)餐飲管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)(論文)餐飲管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)(論文)餐飲管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、編號(hào):xh03jw035-11/0 畢 業(yè) 設(shè) 計(jì) (論 文)題目: 餐 飲 管 理 系 統(tǒng) 系 別: 信 息 技 術(shù) 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2009年3月18日摘 要在計(jì)算機(jī)軟件普遍應(yīng)用的今天,越來越多的軟件與生活中的大小事件聯(lián)系起來,各式各樣的軟件為我們的生活管理帶來了便利。在加上軟件開發(fā)平臺(tái)的多樣性與簡(jiǎn)便性,使得軟件開發(fā)越來越簡(jiǎn)單,所能實(shí)現(xiàn)的功能越來越強(qiáng)大,管理越來越方便,但是成本卻越來越低,這就使得各行各業(yè)把它們的傳統(tǒng)管理方式轉(zhuǎn)變?yōu)槔密浖砉芾?。本論文運(yùn)用c#編程語言在.net平臺(tái)上設(shè)計(jì)開發(fā)“餐飲管理系統(tǒng)”。實(shí)現(xiàn)了顧客開臺(tái)、點(diǎn)菜、結(jié)帳等等要求的界面化管理,該系統(tǒng)操

2、作簡(jiǎn)單,節(jié)省方便了管理員的工作。數(shù)據(jù)電子化存儲(chǔ),節(jié)省了數(shù)據(jù)存儲(chǔ)的費(fèi)用并增加了數(shù)據(jù)存儲(chǔ)量。實(shí)現(xiàn)了餐飲業(yè)的科學(xué)管理。關(guān)鍵詞:.net c# 餐飲管理目 錄第一章 引言4第二章 餐飲管理系統(tǒng)的目標(biāo)與分析52.1 傳統(tǒng)餐飲存在的問題52.2 餐飲管理系統(tǒng)的目標(biāo)52.3 可行性分析52.4 業(yè)務(wù)流程分析6第三章 c#簡(jiǎn)介93.1設(shè)計(jì)目標(biāo)93.2語言特性93.3程序的執(zhí)行103.4標(biāo)準(zhǔn)化113.5總結(jié)11第四章 設(shè)計(jì)開發(fā)項(xiàng)目1141數(shù)據(jù)庫設(shè)計(jì)114.2 登錄模塊的設(shè)計(jì)144.3主窗體設(shè)計(jì)154.4開臺(tái)模塊設(shè)計(jì)194.5點(diǎn)菜模塊設(shè)計(jì)204.6結(jié)賬模塊設(shè)計(jì)22參考文獻(xiàn)24第一章 引言近年來,隨著人民的生活水平

3、的不斷提高,餐飲業(yè)的消費(fèi)持續(xù)增長,競(jìng)爭(zhēng)愈來愈激烈。然而,傳統(tǒng)餐飲企業(yè)的日常運(yùn)作還是靠人工管理,從原材料入庫到客人點(diǎn)單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費(fèi)人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯(cuò)誤,造成管理水平低下。這就迫切需要標(biāo)準(zhǔn)的、高效率的計(jì)算機(jī)管理方式引導(dǎo)其發(fā)展,通過計(jì)算機(jī)管理該企業(yè)的日常運(yùn)作,給管理者以決策參考的模型,來不斷完善管理水平,提高工作效率。當(dāng)今世界已進(jìn)入了在計(jì)算機(jī)信息管理領(lǐng)域中激烈競(jìng)爭(zhēng)的時(shí)代,應(yīng)用計(jì)算機(jī)已經(jīng)變得十分普遍了,如同我們離不開的自行車、汽車一樣。我們應(yīng)該承認(rèn),誰掌握的知識(shí)多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能夠在各種競(jìng)爭(zhēng)中立于不敗之地。隨

4、著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。越來越多的管理人員意識(shí)到信息管理的重要性。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)餐飲企業(yè)信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理與世界接軌的重要條件。本系統(tǒng)選擇目前市場(chǎng)上價(jià)格比較低廉的數(shù)據(jù)庫服務(wù)器產(chǎn)品: sql server2000及配套的平臺(tái)windows xp。而前臺(tái)開發(fā)工具采用.net,語言用c#,利用其可視化的開發(fā)環(huán)境、豐富

5、的控件資源,快速開發(fā)出了餐飲管理信息系統(tǒng)應(yīng)用程序。第二章 餐飲管理系統(tǒng)的目標(biāo)與分析2.1 傳統(tǒng)餐飲存在的問題由于傳統(tǒng)酒店的管理還處于人工管理階段,所以酒店的管理效率不高。由于缺乏科學(xué)的管理和現(xiàn)代化的管理工具,傳統(tǒng)酒店在管理上和業(yè)務(wù)的安排上都存在著不足。1包間的管理不夠科學(xué)方便,使用情況不直觀。2庫管員不能隨時(shí)掌握庫存情況,不能及時(shí)發(fā)現(xiàn)商品缺貨的情況,另外統(tǒng)計(jì)商品數(shù)量即費(fèi)時(shí)又費(fèi)力。3由于酒店的商品種類多,菜樣多變,靠人工方式管理商品和菜品信息有很多不便。例如商品數(shù)量大導(dǎo)致查找商品信息困難等。2.2 餐飲管理系統(tǒng)的目標(biāo)面對(duì)服務(wù)行業(yè)的高速發(fā)展和餐飲企業(yè)信息發(fā)展的過程中出現(xiàn)的各種情況,本系統(tǒng)應(yīng)達(dá)到以下

6、目標(biāo):l 系統(tǒng)采用人機(jī)交互的方式,界面美觀友好,信息查詢靈活、方便,數(shù)據(jù)存儲(chǔ)安全可靠。l 實(shí)現(xiàn)對(duì)餐廳顧客開臺(tái)、點(diǎn)菜/加菜、賬目查詢和結(jié)賬等操作。l 對(duì)用戶輸入的數(shù)據(jù),進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能的避免人為錯(cuò)誤。l 實(shí)現(xiàn)對(duì)消費(fèi)賬目自動(dòng)結(jié)算。l 實(shí)現(xiàn)對(duì)消費(fèi)的歷史記錄進(jìn)行查詢,支持模糊查詢。l 系統(tǒng)應(yīng)最大限度地實(shí)現(xiàn)易維護(hù)性和易操作性。2.3 可行性分析2.3.1 技術(shù)上的可行性技術(shù)方面的可行性就是根據(jù)現(xiàn)有的技術(shù)條件,能否實(shí)現(xiàn)系統(tǒng)的各項(xiàng)要求。1設(shè)備:該系統(tǒng)對(duì)所需的硬件設(shè)備,如pc機(jī)配件的性能要求一般,現(xiàn)有設(shè)備的性能完全能夠滿足系統(tǒng)功能的要求。2軟件上,本系統(tǒng)屬于數(shù)據(jù)庫應(yīng)用程序,本系統(tǒng)需要一個(gè)數(shù)據(jù)庫服務(wù)器

7、及其運(yùn)行的操作系統(tǒng)平臺(tái),根據(jù)客戶的數(shù)據(jù)量并不是十分巨大,我們選擇目前市場(chǎng)上價(jià)格比較低廉的數(shù)據(jù)庫服務(wù)器產(chǎn)品:sql server2000及配套的平臺(tái)windows xp。而前臺(tái)開發(fā)工具采用microsoft visual studio 2005 ,利用其可視化的開發(fā)環(huán)境、豐富的控件資源,能快速開發(fā)出應(yīng)用程序。2.3.2 經(jīng)濟(jì)上的可行性1費(fèi)用:本系統(tǒng)屬于小型的餐飲管理系統(tǒng),軟硬件費(fèi)用要求不高,一般的餐飲行業(yè)都能支付的了費(fèi)用。 2效用:實(shí)施該系統(tǒng)也能給公司帶來長期效益,它可幫助領(lǐng)導(dǎo)實(shí)現(xiàn)管理方法的現(xiàn)代化、科學(xué)化,極大地提高餐飲企業(yè)的工作質(zhì)量與工作效率,減少管理支出的費(fèi)用,從而保證企業(yè)管理的可持續(xù)的良好

8、發(fā)展。因此經(jīng)濟(jì)上具有了系統(tǒng)開發(fā)的可行性。2.3.3 簡(jiǎn)要總結(jié)經(jīng)過細(xì)致地初步調(diào)查和嚴(yán)密地可行性分析,我們認(rèn)為在現(xiàn)有條件下,為酒店開發(fā)餐飲管理信息系統(tǒng)是完全可行的。2.4 業(yè)務(wù)流程分析2.4.1 系統(tǒng)功能結(jié)構(gòu)為了實(shí)現(xiàn)對(duì)餐飲企業(yè)的基本管理,現(xiàn)對(duì)餐飲管理系統(tǒng)結(jié)構(gòu)主要細(xì)分為四大模塊。如圖表 1.1:圖表 1.11.基礎(chǔ)信息:桌臺(tái)信息:主要是針對(duì)桌臺(tái)的基本信息進(jìn)行查詢以及增刪改的操作。職工信息:主要是對(duì)公司職工的基本信息進(jìn)行查詢以及增刪改的操作。2.輔助工具: 日歷:顯示日期工具,對(duì)日期進(jìn)行查看。 計(jì)算器:通過調(diào)用系統(tǒng)的計(jì)算器來計(jì)算數(shù)據(jù)。 記事本:通過調(diào)用系統(tǒng)的記事本工具來記錄數(shù)據(jù)。 3.系統(tǒng)維護(hù): 權(quán)限

9、管理:對(duì)所有用戶的權(quán)限進(jìn)行設(shè)置。 系統(tǒng)備份:對(duì)數(shù)據(jù)庫進(jìn)行備份,以便通過系統(tǒng)恢復(fù)來還原數(shù)據(jù)。 系統(tǒng)恢復(fù):還原備份的數(shù)據(jù)。4.系統(tǒng)設(shè)置: 口令設(shè)置:修改登錄者的密碼。鎖定系統(tǒng):通過系統(tǒng)鎖屏,通過密碼才能解鎖,增加系統(tǒng)的安全性。2.4.2業(yè)務(wù)流程分析為了反映系統(tǒng)內(nèi)部各個(gè)部分的聯(lián)系程度,就必須對(duì)組織的業(yè)務(wù)流程進(jìn)行分析。業(yè)務(wù)流程圖是分析業(yè)務(wù)功能流程的重要工具,它是一種描述系統(tǒng)內(nèi)部各單位、人員之間業(yè)務(wù)關(guān)系、作業(yè)順序和管理信息流向的圖表。首先要有一個(gè)登錄模塊對(duì)登錄用戶進(jìn)行驗(yàn)證,如果驗(yàn)證成功則進(jìn)入系統(tǒng)的主窗體,登錄主窗體之后在根據(jù)登錄的用戶名判斷是不是管理員,如果是管理員則可以操作所有的功能:系統(tǒng)維護(hù)、基礎(chǔ)信

10、息、系統(tǒng)設(shè)置、輔助工具、退出。如果不是管理員則只能查看基礎(chǔ)信息、使用輔助工具和退出。系統(tǒng)業(yè)務(wù)流程如圖表2.1所示:圖表 2.1第三章 c#簡(jiǎn)介c#(發(fā)音為c sharp)是由微軟公司所開發(fā)的一種面向?qū)ο螅疫\(yùn)行于.net framework之上的高級(jí)程序設(shè)計(jì)語言。并且成為ecma與iso標(biāo)準(zhǔn)規(guī)范。c#看似基于c+寫成,但又融入其它語言如delphi、java、vb等。3.1設(shè)計(jì)目標(biāo)ecma標(biāo)準(zhǔn)列出的c#設(shè)計(jì)目標(biāo):c#旨在設(shè)計(jì)成為一種“簡(jiǎn)單、現(xiàn)代、通用”,以及面向?qū)ο蟮某绦蛟O(shè)計(jì)語言 此種語言的實(shí)現(xiàn),應(yīng)提供對(duì)于以下軟件工程要素的支持:強(qiáng)類型檢查、數(shù)組維度檢查、未初始化的變量引用檢測(cè)、自動(dòng)垃圾收集(

11、garbage collection,指一種自動(dòng)內(nèi)存釋放技術(shù))。軟件必須做到強(qiáng)大、持久,并具有較強(qiáng)的編程生產(chǎn)力。 此種語言為在分布式環(huán)境中的開發(fā)提供適用的組件開發(fā)應(yīng)用。 為使程序員容易遷移到這種語言,源代碼的可移植性十分重要,尤其是對(duì)于那些已熟悉c和c+的程序員而言。 對(duì)國際化的支持非常重要。 c#適合為獨(dú)立和嵌入式的系統(tǒng)編寫程序,從使用復(fù)雜操作系統(tǒng)的大型系統(tǒng)到特定應(yīng)用的小型系統(tǒng)均適用。 雖然c#程序在存儲(chǔ)和操作能力需求方面具備經(jīng)濟(jì)性,但此種語言并不能在性能和尺寸方面與c語言或匯編語言相抗衡。3.2語言特性相對(duì)于c和c+,這個(gè)語言在許多方面進(jìn)行了限制和增強(qiáng):指針(pointer)只能被用于不安

12、全模式。大多數(shù)對(duì)象訪問通過安全的引用實(shí)現(xiàn),以避免無效的調(diào)用,并且有許多算法用于驗(yàn)證溢出,指針只能用于調(diào)用值類型,以及受垃圾收集控制的托管對(duì)象。 對(duì)象不能被顯式釋放,代替為當(dāng)不存在被引用時(shí)通過垃圾回收器回收。 只允許單一繼承(single inheritance),但是一個(gè)類可以實(shí)現(xiàn)多個(gè)接口(interfaces)。 c#比c+更加類型安全。默認(rèn)的安全轉(zhuǎn)換是隱含轉(zhuǎn)換,例如由短整型轉(zhuǎn)換為長整型和從派生類轉(zhuǎn)換為基類。而接口同整型,及枚舉型同整型不允許隱含轉(zhuǎn)換,非空指針(通過引用相似對(duì)象)同用戶定義類型的隱含轉(zhuǎn)換必段被顯式的確定,不同于c+的復(fù)制構(gòu)造函數(shù)。 數(shù)組聲明語法不同(int a = new i

13、nt5 而不是 int a5)。 枚舉位于其所在的命名空間中。 c#中沒有模版(template),但是在c# 2.0中引入了泛型(generic programming),并且支持一些c+模版不支持的特性。比如泛型參數(shù)中的類型約束。另一方面,表達(dá)式不能像c+模版中被用于類型參數(shù)。 屬性支持,使用類似訪問成員的方式調(diào)用。 完整的反射支持。 3.3程序的執(zhí)行c#并不被編譯成為能夠直接在計(jì)算機(jī)上執(zhí)行的二進(jìn)制本地代碼。與java類似,它被編譯成為中間代碼(microsoft intermediate language),然后通過.net framework的虛擬機(jī)被稱之為通用語言運(yùn)行時(shí).net cl

14、r(common language runtime)執(zhí)行。所有的.net編程語言都被編譯成這種被稱為msil(microsoft intermediate language )的中間代碼。因此雖然最終的程序在表面上仍然與傳統(tǒng)意義上的可執(zhí)行文件都具有“.exe”的后綴名。但是實(shí)際上,如果計(jì)算機(jī)上沒有安裝.net framework,那么這些程序?qū)⒉荒軌虮粓?zhí)行。在程序執(zhí)行時(shí),.net framework將中間代碼翻譯成為二進(jìn)制機(jī)器碼,從而使它得到正確的運(yùn)行。最終的二進(jìn)制代碼被存儲(chǔ)在一個(gè)緩沖區(qū)(buffer)中。所以一旦程序使用了相同的代碼,那么將會(huì)調(diào)用緩沖區(qū)中的版本。這樣如果一個(gè).net程序第二次

15、被運(yùn)行,那么這種翻譯不需要進(jìn)行第二次,速度明顯加快。3.4標(biāo)準(zhǔn)化微軟公司已經(jīng)向ecma申請(qǐng)將c#作為一種標(biāo)準(zhǔn)。在2001年12月,ecma發(fā)布了ecma-334 c#語言規(guī)范。c#在2003年成為一個(gè)iso標(biāo)準(zhǔn)(iso/iec 23270)?,F(xiàn)在有一些獨(dú)立的實(shí)現(xiàn)正在進(jìn)行,包括:自由軟件基金會(huì)的dotgnu portable.net mono baltie - c# ide for children and young baltie 3.5總結(jié)利用c#的優(yōu)點(diǎn),加上.net開發(fā)的安全性,和數(shù)據(jù)庫的優(yōu)勢(shì)和.net的無縫結(jié)合,容易上手,易于實(shí)現(xiàn)快速開發(fā),它有圖形界面,它的界面設(shè)計(jì)跟服務(wù)器段編程分離,給

16、我感覺很清晰,用它做出來的東西,容錯(cuò)性強(qiáng),給人的感覺好!第四章 設(shè)計(jì)開發(fā)項(xiàng)目41數(shù)據(jù)庫設(shè)計(jì)在開發(fā)餐飲管理系統(tǒng)之前,分析了改系統(tǒng)的數(shù)據(jù)量,由于系統(tǒng)餐飲管理的數(shù)據(jù)較多,商品信息、消費(fèi)信息以及賬目清單會(huì)占用較大的空間。因此選擇microsoft sql server2000數(shù)據(jù)庫存儲(chǔ)這些信息,數(shù)據(jù)庫命名為db_mrcy,在數(shù)據(jù)庫中創(chuàng)建了6個(gè)數(shù)據(jù)表用于不同的信息。tb_food表 存儲(chǔ)食品的相關(guān)信息、tb_foodtype表 存儲(chǔ)食品的類別、tb_guestfood表 存儲(chǔ)消費(fèi)信息、tb_room表 存儲(chǔ)餐廳桌臺(tái)信息、tb_user表 存儲(chǔ)管理用戶信息、tb_waiter表 存儲(chǔ)所有職工信息。tb_f

17、ood表設(shè)置如圖表4.1.1圖表 4.1.1tb_foodtype表設(shè)置如圖表4.1.2圖表 4.1.2tb_guestfood表設(shè)置如圖表4.1.3圖表 3.1.3tb_room表設(shè)置如圖表4.1.4圖表 4.1.4tb_user表設(shè)置如圖表4.1.5圖表 4.1.5tb_waiter表設(shè)置如圖表4.1.6圖表 登錄模塊的設(shè)計(jì)為了使系統(tǒng)的安全性得到保障,為餐飲管理系統(tǒng)開發(fā)了登錄模塊。通過該模塊能對(duì)登錄用戶進(jìn)行驗(yàn)證,只有系統(tǒng)的合法用戶才能進(jìn)入系統(tǒng)的主界面。代碼實(shí)現(xiàn)部分如下: sqlconnection conn = baseclass.dbconn.cycon(); conn

18、.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 * from tb_user where username= + txtname.text + , conn); sqldatareader sdr =

19、cmd.executereader(); sdr.read(); string userpower = sdrpower.tostring().trim(); conn.close(); frmmain main = new frmmain(); main.power = userpower; main.names = txtname.text; main.times = datetime.now.toshortdatestring(); main.show(); this.hide(); else messagebox.show(用戶名或密碼錯(cuò)誤); conn.close(); 登錄界面如圖

20、表4.2.1圖表 主窗體設(shè)計(jì)在餐飲管理系統(tǒng)中主窗體是由3部分組成的。第一部分是位于主窗體模塊上端的系統(tǒng)菜單,主要實(shí)現(xiàn)鏈接系統(tǒng)功能菜單。第二部分是位于主窗體模塊中間的桌臺(tái)顯示,主要用于顯示餐廳中所有的桌臺(tái)情況,包括桌臺(tái)時(shí)候已使用、已使用桌臺(tái)的客人數(shù)量等信息,方便了用戶對(duì)桌臺(tái)的管理。第三部分是位于主窗體模塊下端的狀態(tài)欄,主要用于顯示系統(tǒng)當(dāng)前狀態(tài)信息。部分代碼實(shí)現(xiàn)如下:private void 開臺(tái)toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) strin

21、g names = lvdesk.selecteditems0.subitems0.text; frmopen openroom = new frmopen(); = names; openroom.showdialog(); else messagebox.show(請(qǐng)選擇桌臺(tái)); private void frmmain_activated(object sender, eventargs e) lvdesk.items.clear(); sqlconnection conn = baseclass.dbconn.cycon(); conn.open(); sq

22、lcommand cmd = new sqlcommand(select * from tb_room, conn); sdr = cmd.executereader(); while (sdr.read() string zt = sdrroomzt.tostring().trim(); additems(zt); conn.close(); private void 點(diǎn)菜toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.

23、selecteditems0.subitems0.text; frmdc dc = new frmdc(); dc.rname = names; dc.showdialog(); else messagebox.show(請(qǐng)選擇桌臺(tái)); private void 消費(fèi)查詢toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.selecteditems0.subitems0.text; frmserch serch = new f

24、rmserch(); serch.rname = names; serch.showdialog(); else messagebox.show(請(qǐng)選擇桌臺(tái)); private void 結(jié)賬toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk.selecteditems0.subitems0.text; frmjz jz = new frmjz(); jz.rname = names; jz.showdialog(); els

25、e messagebox.show(請(qǐng)選擇桌臺(tái)); private void lvdesk_doubleclick(object sender, eventargs e) frmdetails details = new frmdetails(); details.tablename = lvdesk.selecteditems0.subitems0.text; details.showdialog(); private void lvdesk_click(object sender, eventargs e) string names = lvdesk.selecteditems0.subi

26、tems0.text; sqlconnection conn = baseclass.dbconn.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.contextmenustr

27、ip1.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

28、.enabled = false; this.contextmenustrip1.items3.enabled = false; this.contextmenustrip1.items5.enabled = false; this.contextmenustrip1.items6.enabled = false; conn.close(); private void 取消開臺(tái)toolstripmenuitem_click(object sender, eventargs e) if (lvdesk.selecteditems.count != 0) string names = lvdesk

29、.selecteditems0.subitems0.text; sqlconnection conn = baseclass.dbconn.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(update tb_room set roomzt=待用,num=0 where roomname= + names + , conn); cmd.executenonquery(); cmd = new sqlcommand(delete from tb_guestfood where zhuotai= + names + , conn); cmd

30、.executenonquery(); conn.close(); frmmain_activated(sender, e); else messagebox.show(請(qǐng)選擇桌臺(tái)); private void 桌臺(tái)信息toolstripmenuitem1_click(object sender, eventargs e) frmdesk desk = new frmdesk(); desk.showdialog(); private void 職員信息toolstripmenuitem1_click(object sender, eventargs e) frmuser users = ne

31、w frmuser(); users.showdialog(); private void 日歷toolstripmenuitem1_click(object sender, eventargs e) frmcalender calender = new frmcalender(); calender.showdialog(); private void 記事本toolstripmenuitem1_click(object sender, eventargs e) system.diagnostics.process.start(notepad.exe); private void 計(jì)算器to

32、olstripmenuitem1_click(object sender, eventargs e) system.diagnostics.process.start(calc.exe); private void 權(quán)限管理toolstripmenuitem1_click(object sender, eventargs e) frmqxgl qx = new frmqxgl(); qx.showdialog(); private void 系統(tǒng)備份toolstripmenuitem1_click(object sender, eventargs e) frmbf bf = new frmbf

33、(); bf.showdialog(); private void 系統(tǒng)恢復(fù)toolstripmenuitem1_click(object sender, eventargs e) frmhf hf = new frmhf(); hf.showdialog(); private void 口令設(shè)置toolstripmenuitem1_click(object sender, eventargs e) frmpwd pwd = new frmpwd(); s = names; pwd.showdialog(); private void 鎖定系統(tǒng)toolstripmenuitem

34、1_click(object sender, eventargs e) frmlock locksystem = new frmlock(); locksystem.owner = this; locksystem.showdialog(); 主窗體界面如圖表 4.2.2圖表 開臺(tái)模塊設(shè)計(jì)當(dāng)顧客要進(jìn)行消費(fèi)的時(shí)候,首先要看一下是否還有可用的桌臺(tái),如果還有空閑的桌臺(tái),那么就要為顧客開臺(tái),只有在開臺(tái)之后,才能為顧客點(diǎn)菜、查詢和結(jié)賬。所以開臺(tái)模塊在整個(gè)系統(tǒng)中是非常重要的。部分代碼實(shí)現(xiàn)如下:private void frmopen_load(object sender, eventarg

35、s e) conn = baseclass.dbconn.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(select * from tb_room,conn); sqldatareader sdr = cmd.executereader(); while (sdr.read() cbnum.items.add(sdrroomname.tostring().trim(); cbnum.selecteditem= name.trim(); sdr.close(); cmd = new sqlcommand(select * from t

36、b_waiter,conn); sdr = cmd.executereader(); while (sdr.read() cbwaiter.items.add(sdrwaitername.tostring().trim(); cbwaiter.selectedindex = 0; sdr.close(); conn.close(); private void txtnum_keypress(object sender, keypresseventargs e) if (e.keychar != 8 & !char.isdigit(e.keychar) & e.keychar != 13) me

37、ssagebox.show(請(qǐng)輸入數(shù)字); e.handled = true; private void btnsave_click(object sender, eventargs e) if (txtnum.text = |convert.toint32(txtnum.text)=0) messagebox.show(請(qǐng)輸入用餐人數(shù)); else conn.open(); string roomname = cbnum.selecteditem.tostring(); sqlcommand cmd1 = new sqlcommand(update tb_room set guestname

38、= + txtname.text + ,zhangdandate= + datetimepicker1.value.tostring() + ,num= + convert.toint32(txtnum.text) + ,waitername= + cbwaiter.selecteditem.tostring() + ,roomzt=使用 where roomname= + name + , conn); cmd1.executenonquery(); conn.close(); this.close(); 開臺(tái)模塊如圖表 4.2.3圖表 點(diǎn)菜模塊設(shè)計(jì)為顧客選定好桌臺(tái),并且開臺(tái)

39、之后。會(huì)根據(jù)顧客的需要點(diǎn)菜或購買茶水煙酒之類的消費(fèi)品,在點(diǎn)菜模塊中會(huì)顯示餐廳特有的一些菜系,用戶可以對(duì)不通的菜系進(jìn)行選擇。部分代碼實(shí)現(xiàn)如下:private void frmdc_load(object sender, eventargs e) this.text = rname + 點(diǎn)/加菜; treenode newnode1 = tvfood.nodes.add(鍋底); treenode newnode2 = tvfood.nodes.add(配菜); treenode newnode3 = tvfood.nodes.add(煙酒); treenode newnode4 = tvfood

40、.nodes.add(主食); sqlconnection conn = baseclass.dbconn.cycon(); conn.open(); sqlcommand cmd = new sqlcommand(select * from tb_food where foodty=1, conn); sqldatareader sdr = cmd.executereader(); while (sdr.read() newnode1.nodes.add(sdr3.tostring().trim(); sdr.close(); cmd = new sqlcommand(select * fr

41、om tb_food where foodty=2, conn); sdr = cmd.executereader(); while (sdr.read() newnode2.nodes.add(sdr3.tostring().trim(); sdr.close(); cmd = new sqlcommand(select * from tb_food where foodty=3, conn); sdr = cmd.executereader(); while (sdr.read() newnode3.nodes.add(sdr3.tostring().trim(); sdr.close()

42、; cmd = new sqlcommand(select * from tb_food where foodty=4, conn); sdr = cmd.executereader(); while (sdr.read() newnode4.nodes.add(sdr3.tostring().trim(); sdr.close(); cmd = new sqlcommand(select * from tb_waiter,conn); sdr = cmd.executereader(); while (sdr.read() cbwaiter.items.add(sdrwaitername.tostring().trim(); cbwaiter.selectedindex = 0; sdr.close(); cmd = new sqlcommand(select roomzt from tb_room where roomname=+rname+,conn); string zt = convert.tostring(cmd.executescala

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論