freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

餐廳點(diǎn)菜系統(tǒng)畢業(yè)設(shè)計(jì)論文(參考版)

2024-12-07 15:41本頁(yè)面
  

【正文】 connect(btn,SIGNAL(clicked()),dlg,SLOT。 layoutaddWidget(label)。 QPushButton *btn =new QPushButton(tr(確定 ))。 QLabel *label= new QLabel。 (QString(%1).arg(ipric))。 dlgsetWindowTitle(tr(消費(fèi)金額 ))。 結(jié)賬功能代碼實(shí)現(xiàn)如下: void diancaiDialog::on_listPayButton_clicked() //結(jié)帳 { if(pro==true) {。 pro=false。m++) ipric+=SeleteList[m].pric*SeleteList[m].num。 for(m=0。 } //計(jì)算消費(fèi)金額 int m。ii++) printf(%s%d\n,additem[ii].addnam,additem[ii].addnum)。 for(ii=0。 send(sockfd,additem,sizeof(additem),0)。 } //將添加的菜發(fā)送至服務(wù)器 else if(pro==false) { additem[0].bufer[0]=5。 19 SeleteList[0].buffer[1]=tableNumber。 主要代碼實(shí)現(xiàn)如下: void diancaiDialog::on_listOkButton_clicked() //提交 { QTextCodec::setCodecForTr(QTextCodec::codecForName(utf8))。 } } else //del==false {。 39。m6。 additem[0].addnum=1。 additem[0].bufer[0]=4。 QByteArray ba=()。m++) ipric+=SeleteList[m].pric*SeleteList[m].num。 for(m=0。 } //提交后刪菜 if(pro==false) { int m。 SeleteList[cou].num=0。f++) { SeleteList[f]=SeleteList[f+1]。 for(f=courow1。 delete item。 int row =okListcurrentRow()。 if(del==true) 18 { QString text =okListcurrentItem()text()。 主要實(shí)現(xiàn)代碼如下: void diancaiDialog::slotDelete() //刪除 { if(okListcount()==0) del=false。 ss++。 additem[ss].addpric=MenuBook[j].Price。 strcpy(additem[ss].addnam,())。 printf(add: %s \n,SeleteList[s].nam)。 SeleteList[s].num=()。j++) { if(listText==MenuBook[j].Name) { QByteArray ba=MenuBook[j].()。 //遍歷 MenuBook,查找與宣傳顯示相同名稱的菜,并將其信息存入 SeleteList 或 additem for(int j=0。 okListsetCurrentRow(0)。 okListinsertItem(n,text)。 text +=\t。 QString text。 QString listText1 =im1Labeltext()。 主要代碼實(shí)現(xiàn)如下: void diancaiDialog::slotImButton() //選擇 17 { static int n=0。 (select *from menubook)。 //指明數(shù)據(jù)庫(kù)名稱 //打開(kāi)數(shù)據(jù)庫(kù) if(!()) { QMessageBox::critical(0, QObject::tr(Datebase error), ().text())。 主要實(shí)現(xiàn)代碼如下: QSqlDatabase data = QSqlDatabase::addDatabase(QSQLITE)。 } else {。 send(sockfd,SeleteList,sizeof(SeleteList),0)。 SeleteList[0].buffer[0]=1。 diancaiDialog *dianc = new diancaiDialog。點(diǎn)擊主要實(shí)現(xiàn)代碼如下: void weleDialog::slotOkButton() //開(kāi)臺(tái) { if(star==true) { QString st=numberComboBoxcurrentText()。server_addr, sizeof(struct sockaddr)) == 1) 開(kāi)臺(tái)界面有兩個(gè)選擇都是用 QComboBox 類,可以選擇現(xiàn)在是幾號(hào)桌和人數(shù),點(diǎn)擊開(kāi)臺(tái) Button 同樣觸發(fā)槽函數(shù) slotOkButton()的發(fā)生,會(huì)讓點(diǎn)菜界面顯示用到 QWidget 類中的成員 show()函數(shù)。 = htons(portnumber)。 = AF_INET。 主要代碼實(shí)現(xiàn)如下: /* 客戶程序建立 sockfd 描述符 */ if((sockfd=socket(AF_INET,SOCK_STREAM,0)) == 1) /* 客戶程序填充服務(wù)端的資料 */ 16 bzero(amp。 } 顧客點(diǎn)菜端管理模塊 點(diǎn)菜端是顧客從前臺(tái)獲知該餐桌空閑,則開(kāi)臺(tái),并開(kāi)始點(diǎn)菜,點(diǎn)菜界面可以根據(jù)菜譜信息點(diǎn)擊選擇按鈕,如果需要?jiǎng)h除可以點(diǎn)擊刪除按鈕,當(dāng)確認(rèn)后點(diǎn)擊提交按鈕就將顧客點(diǎn)菜信息發(fā)送到服務(wù)器,服務(wù)器并發(fā)送到后廚。 button1setText(tr(1 號(hào) (2 人桌 )))。lt))。 memset(aa,0,sizeof(aa))。 lt =time(NULL)。 listshow()。 QString str2 = QString(tr(桌號(hào): )+tr(af)+tr(共計(jì) ))。 sprintf(af,%d,menu1[0].buff[1])。 } QString a。 sum+=menu1[i].price*menu1[i].num。 sprintf(a,%d %d ,menu1[i].price,menu1[i].num)。 while(menu1[i].num!=0) { char a[50]。 QString str1 = QString(tr(菜名 價(jià)格 數(shù)量 ))。 double sum=0。 } else//結(jié)帳 15 { shou()。 if(a) { button1setText(tr(1 號(hào)有人 ))。 主要實(shí)現(xiàn)代碼如下: void foregroundDialog::table1() { QTextCodec::setCodecForTr(QTextCodec::codecForName(utf8))。餐臺(tái)空閑信息主要是根據(jù) Button 組件 文本顯示判斷的是否是空閑狀態(tài),空閑時(shí),當(dāng)顧客來(lái)時(shí)如空閑點(diǎn)擊按鈕就connect()觸發(fā)了槽函數(shù) table1(),其中槽函數(shù)中用到 Button 類的成員函數(shù) setText(),將 button的文本信息設(shè)置為“ 1 號(hào)有人”。 /*服務(wù)器主程序返回繼續(xù)等待下一次客戶端連接 */ } close(sockfd)。tid,0,run,amp。 /*創(chuàng)建線程,處理客戶端請(qǐng)求 */ pthread_t tid。 } sock_accept[i] =accefd。address_size)) == 1) { perror(Accept error!)。 /* 服務(wù)器阻塞 ,等待客戶程序建立連接 */ if((accefd = accept(sockfd,(struct sockaddr*)amp。 } address_size = sizeof(client_addr)。 } /* 設(shè)置允許連接的最大客戶端數(shù) */ if(listen(sockfd,10) == 1) { perror(Listen error!)。server_addr,sizeof(server_addr)) == 1) { perror(Bind error!)。 = htons(portnumber)。 = AF_INET。 } /* 服務(wù)器端填充 sockaddr_in 結(jié)構(gòu) */ bzero(amp。主要 實(shí)現(xiàn)代碼如下 : if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == 1) { perror(Socket error!)。運(yùn)用到了 TCP/IP 協(xié)議函數(shù),首先 socket()函數(shù)獲得套接字描述符,然后用 bind()函數(shù)將描述符捆綁到 IP 上,監(jiān)聽(tīng) listen()函數(shù),其中可以設(shè)置客戶端的個(gè)數(shù)。 服務(wù)器管理模塊 服務(wù)器模塊主要是用 C 語(yǔ)言編寫(xiě)的,主要是為其他模塊間的通信。 數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)數(shù)據(jù)庫(kù)中建立了一張菜單信息表,該表詳細(xì)結(jié)構(gòu)如圖表 41 所示。設(shè)計(jì)中主要將餐廳點(diǎn)菜系統(tǒng)分為五個(gè)模塊,每個(gè)模塊的需求和實(shí)現(xiàn)的功能進(jìn)行了闡述和詳細(xì)設(shè)計(jì)過(guò)程分析。該表用于存放菜肴的信息,包括菜肴的名字、菜肴的類別、菜肴的價(jià)格、菜肴的描述。 查詢菜單功能是查詢是否有哪道菜肴信息。 刪除菜單列表功能是將刪除不做的菜肴信息。 圖 34 后廚終端模塊 5.?dāng)?shù)據(jù)庫(kù)管理:數(shù)據(jù)庫(kù)管理管理菜單數(shù)據(jù)庫(kù)信息,包括刪除菜單列表、添加菜單列表,查詢菜單等功能。 圖 33 點(diǎn)菜終端模塊 4.后廚終端:后廚終端從服務(wù)器接收到顧客點(diǎn)的菜肴,可以繼續(xù)接受顧客加菜的菜查詢餐臺(tái)信息 結(jié)賬 打印賬單 前臺(tái)管理模塊 點(diǎn) 菜 點(diǎn)菜信息發(fā)送 點(diǎn)菜終端 選擇菜肴 刪 菜 加 菜 12 單、按照菜單做菜,并可以詢問(wèn)菜是否需要退菜。 選擇菜肴功能是將用戶選擇的菜肴存與表中,用戶可以添加與刪除。本模塊將用戶點(diǎn)菜單菜肴發(fā)送到服務(wù)器,并將數(shù)據(jù)信息添加到數(shù)據(jù)庫(kù)。細(xì)分的功能模塊如圖 32。 2.前臺(tái)終端管理:前臺(tái)是本系 統(tǒng)重要組成部分之一。當(dāng)顧客點(diǎn)菜客戶端與服務(wù)器連接后,可通過(guò)此將點(diǎn)菜信息發(fā)送到后廚。 查詢 圖 31 系統(tǒng)總功能模塊 查詢餐臺(tái)信息 結(jié)賬 打印賬單 前臺(tái)管理模塊 服務(wù)器 后廚管理模塊 刪菜詢問(wèn) 接收菜單 做完 顧客點(diǎn)菜模塊 點(diǎn)菜 加菜 退菜 開(kāi)始 11 餐廳點(diǎn)菜系統(tǒng)的功能模塊概要描述如表 32 所示。用 QtCreator 可以動(dòng)態(tài)的調(diào)整用戶風(fēng)格圖形界面,直到滿意為止。 系統(tǒng)開(kāi)發(fā)環(huán)境 本系統(tǒng) 是基于 Linux 系統(tǒng)中 Qt 來(lái)設(shè)計(jì)前臺(tái)應(yīng)用系統(tǒng) 的可視化界面 ,而后臺(tái)部分?jǐn)?shù)據(jù)庫(kù)的實(shí)現(xiàn)采用 SQLite3 來(lái)構(gòu)建。這一方面通過(guò)系統(tǒng)的開(kāi)放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。如規(guī)范的數(shù)據(jù)庫(kù)操縱界面、作為業(yè)界標(biāo)準(zhǔn)的 TCP/IP 網(wǎng)絡(luò)協(xié)議及 ISO9002 標(biāo)準(zhǔn)所要求的質(zhì)量規(guī)范等;同時(shí),在自主開(kāi)發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性 和可移植性。 10 所有這些都要符合主流國(guó)際、國(guó)家和行業(yè)標(biāo)準(zhǔn)。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面。 3.系統(tǒng)的易用性: 餐廳自助點(diǎn)菜系統(tǒng)是直接面對(duì)用戶的,而用戶往往對(duì)計(jì)算機(jī)并不是非常熟 悉。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。 2.系統(tǒng)的開(kāi)放性和系統(tǒng)的可擴(kuò)充性: 餐廳自助點(diǎn)菜系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。作為客戶自助點(diǎn)菜的模塊,其準(zhǔn)確性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處 理能力和響應(yīng)時(shí)間能夠滿足信息處理的需求。 表 31 功能需求 名稱 功能 客戶端 設(shè)置基礎(chǔ)信息,更新菜譜, 點(diǎn)菜,結(jié)賬,打印賬單; 服務(wù)器
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1