c語言程序設(shè)計報告new

c語言程序設(shè)計報告new

ID:18680541

大?。?09.28 KB

頁數(shù):13頁

時間:2018-09-21

c語言程序設(shè)計報告new_第1頁
c語言程序設(shè)計報告new_第2頁
c語言程序設(shè)計報告new_第3頁
c語言程序設(shè)計報告new_第4頁
c語言程序設(shè)計報告new_第5頁
資源描述:

《c語言程序設(shè)計報告new》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、2012級《C課程設(shè)計》大作業(yè)設(shè)計報告設(shè)計題目:餐廳信息管理程序小組參與人員:姓名:學(xué)號:專業(yè)班級:分工:姓名:學(xué)號:專業(yè)班級:分工:姓名:學(xué)號:專業(yè)班級:分工:主函數(shù)及歡迎界面是一起完成的。1.題目:餐廳服務(wù)系統(tǒng)系統(tǒng)功能設(shè)計a.要求實現(xiàn)客戶點菜的過程、客戶結(jié)賬、賬目的管理、餐廳系統(tǒng)的維護四大功能模塊,每個功能模塊又分別對應(yīng)一些不同操作子模塊,從而完成一個餐廳信息管理信息系統(tǒng)。b.可以使用三種不同的結(jié)構(gòu)體來分別存儲餐桌、菜以及訂單信息。b.使用文本文件完成數(shù)據(jù)的存儲與讀取,完成賬單的管理。界面要求歡迎界面、登錄界面、管理界面。2.設(shè)計方案說明2.1數(shù)據(jù)的存儲結(jié)構(gòu)因為菜,餐桌

2、信息均不只含有一項內(nèi)容,所以使用結(jié)構(gòu)體數(shù)組typedefstructf//菜信息{charname[30];//菜名intprice;//菜定價}_food;typedefstructt//餐桌信息{intflag;//定義變量名用于判斷intfoo[30];//餐桌編號}_table;structr//訂單信息{_foodfood[20];//所選菜信息_tabletable[30];//所選餐桌信息};2.2函數(shù)之間的調(diào)用關(guān)系說明在主函數(shù)中通過case選擇語句調(diào)用system("cls");menu(&restaurant);order(&restaurant);sav

3、e(&restaurant);book(&restaurant);bill(&restaurant);total_information(&restaurant);change_menu(&restaurant);entry(&restaurant);九個函數(shù),其中各函數(shù)中又個別嵌套調(diào)用了其他函數(shù)。2.3各函數(shù)說明①order(structr*restaurant)訂餐的函數(shù):restaurant是指向structr結(jié)構(gòu)體的指針。輸入餐桌號i,如果table[i].flag是1或2,則顯示該桌已被選定,系統(tǒng)提示重新選擇餐桌號,通過嵌套函數(shù)order(restaurant)再

4、次選擇。如果table[i].flag不是1或2,則該桌可用,同時使table[i].flag變?yōu)?防止重復(fù)選定。然后是for語句循環(huán),直到輸入999之前可以持續(xù)點餐,點餐通過輸入菜對應(yīng)的編號實現(xiàn),想重復(fù)點同一道菜可以再次輸入編號。②book(structr*restaurant)預(yù)定餐桌和菜的函數(shù):restaurant是指向structr結(jié)構(gòu)體的指針。系統(tǒng)提示“請輸入預(yù)定的桌子號碼(1-30):”同order函數(shù),若table[i].flag是1或2,則顯示該桌已被選定,系統(tǒng)提示重新選擇餐桌號,通過嵌套函數(shù)book(restaurant)再次選擇。如果table[i].f

5、lag不是1或2,則該桌可預(yù)定,同時使table[i].flag變?yōu)?防止重復(fù)預(yù)定。for(j=1;restaurant->table[i].foo[j-1]!=999;j++){scanf("%d",&restaurant->table[i].foo[j]);}意思是只要輸入的編號不是999就可以持續(xù)點菜(bill函數(shù)有設(shè)置,即使輸入的編號超過菜單范圍也不會被收費。特別注意for語句循環(huán)中是j-1而不是j,因為從第二次循環(huán)開始,先j++后判斷)printf("預(yù)定成功??!");getchar();getchar();其中第一個getchar();用以接收回車鍵,第二個

6、getchar();返回主界面。③bill(structr*restaurant)用于結(jié)賬的函數(shù):若table[i].flag是1,表示正被使用,可以結(jié)帳;若table[i].flag是2,表示已被預(yù)定,可以結(jié)賬。如果不是1或2,則表示沒人,不能結(jié)賬。restaurant->food[restaurant->table[i].foo[j]].price表示第i張桌子點的菜的編號,bill+=restaurant->food[restaurant->table[i].foo[j]].price是把所有菜的價格相加。restaurant->table[i].foo[j]<21&

7、&restaurant->table[i].foo[j]>0表示如果輸入的編號不在菜單范圍內(nèi)就不能算入賬單,否則會出錯,這提高了容錯性。結(jié)賬后,若是輸入1,由if(j==1)restaurant->table[i].flag=-1;知該桌位會被釋放供其他客人使用,再按2return返回界面。④函數(shù)total_information(structr*restaurant)功能:顯示所有進賬和餐廳信息實現(xiàn)方法:此函數(shù)無返回值,首先定義并初始化變量,輸出標(biāo)題后通過for循環(huán)計算出進賬金額及被使用的桌子和剩余桌子數(shù)for(

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。