C語言課程設計 電影院訂票系統

2022-05-04 17:24:12 字數 3212 閱讀 1544

大家都愛看電影,現請參考乙個熟悉電影票預訂系統,實現c語言版的訂票系統。了解訂票如何實現的。系統主要有2類使用者:管理員使用者和顧客使用者。

管理員使用者登入系統後,實現電影放映廳資訊管理和電影場次資訊管理。具體選單有:

1.電影放映廳資訊管理

選擇該選單能展示所有放映廳,使用者輸入某個放映廳編號後,能實現對放映廳增加、刪除、修改功能。主要對movie_house.txt資料修改。

放映廳主要字段資訊有:

放映廳編號、放映廳名稱、放映廳行數、放映廳列數、放映廳座位初始狀態。

假如放映廳是乙個10行10列座位安排,其初始狀態可以生成乙個二維陣列house[10][10]=,儲存座位狀態 。0表示未定、1表示已定、2表示不能定。初始時候應該只有0,2兩種狀態。

顧客登入系統後,主選單:

檢視我的訂單

展示所有歷史訂票資訊,然後可刪除未看的電影訂單。(選做)

注意刪除訂單後,相應電影場次中位置資訊狀態也要修改。

電影訂票

操作步驟如下:

(1) 展示當前時間段後可看的電影場次資訊。(注意時間,一定是當前時間段後的電影資訊)

(2) 顧客輸入**電影名稱和時間段,展示目前廳內位置資訊。注意用矩陣方式顯示位置資訊,每行10列左右,具體自己設計。位置資訊在電影資訊檔案即movie.txt檢視位置狀態資訊。0表示可預訂用綠色表示,1表示不能定用紅色標識,2不可訂可用灰色表示。這塊建議圖形化展示。

(3) 若該場次無位置,提示選擇其他電影場次。若有位置,繼續下面操作:

* 選擇1人位置,輸入行列位置編號後,若當前位置可選,生成訂單,寫入訂票資訊檔案movie_order.txt,更新movie.txt中座位狀態。若當前位置已定或不可選,提示錯誤資訊。螢幕座位狀態能實時更新。

* 選擇多人位置,輸入人數及行列位置編號後,實現座位選擇,螢幕實時更新。(選做)

位置編號從1---位置中數量編號。

* 訂單生成後能計算總票價。

【具體資料檔案】:

【要求】

(1)系統演示時候必須保證檔案內至少有50行資料。

(2)系統必須具備容錯處理。沒有位置、沒有電影等都要出錯處理及提醒。

(3)系統互動性要好,操作簡單好用。

(4)有能力同學可以擴充套件系統功能,如匯入easyx庫,加入。系統互動性更好。電影放映廳等狀態改進。

長圖預警

1.logincheck 函式

該函式用於根據登陸使用者的身份繪製登陸介面,根據identity將不同的檔名傳入compare函式,這樣就不用對管理員和使用者分開編寫兩套登陸的函式了

2.compare 函式
該函式用於獲取使用者的賬號和密碼,並將賬號儲存在id陣列中,以便後期設計訂單函式時用到。並對使用者輸入的賬戶和密碼進行驗證,並將結果通過返回值返回。

3.rigester 函式
該函式同樣利用identity來區分檔名,讀取使用者輸入,並對使用者的賬戶進行查重,如果沒有相同賬戶就在檔案末尾追加。

1.addorder 函式
該函式要對傳入的座位資訊進行判斷,如果座位為-1,說明沒有選中座位,並對座位的數量進行統計,然後通過時間函式獲取當前的本地時間,將所有資料寫入add的order型別結構組中,並新增到temp陣列的末尾,寫入檔案 movie_order.txt 。

2.readorder 函式
該函式要將movie_order.txt檔案中的資料讀取到temp陣列中

3.ordermenu 函式
這個函式就長了,他的功能是列印訂單介面,並將temp陣列中的資料按照每六行一頁展示出來,並完成上下頁的翻頁功能,並提供使用者刪除的選項,利用函式對訂單進行刪除。

1.readsession 函式
該函式用於讀取movie.txt中的資料,並儲存到temp陣列當中去。

2.delsession 函式
該函式用於刪除場次

1.addhouse 函式
功能大致同上

2.readhouse 函式

seatselect 函式

該函式會根據seatstate陣列的值將座位表列印到螢幕上,並對使用者的選擇進行判斷與儲存。

被壓縮了。。

剛開始的時候考慮太多,老想著去把這個做的好看一點,結果時間不夠,直接導致管理員的功能沒有完全完善,在使用者的操作上也有一些做得不到位的地方,但總體來說勉強符合預期效果。

這一次的課設設計也著實讓我體會到c語言的重要性,作為一門面向過程的語言,他能夠很好地鍛鍊程式設計思維,但在一些專案上面,遠不及其他那些物件導向的程式來的得心應手,不過學好了c語言,學習其他語言也就不會那麼困難了,像這次的easyx,雖然說只是個頭檔案,但是很多原來的c語言的函式都被easyx代替了,所以仍然需要花一些時間去學習,好在上手比較快,勉強趕上了。

C語言課程設計 監考系統

include include include include include include 引用圖形庫標頭檔案 struct user 使用者 typedef struct rooms 教室資訊 typedef struct student 學生資訊 typedef struct the stu...

C語言課程設計「倉庫管理系統」

include include include include include void input void show void search void change void delete void output void menu struct info info void main void...

C語言課程設計 學生管理系統

學生資訊管理 1 問題描述 學生資訊包括 學號,姓名,年齡,性別,出生年月,位址,e mail等。試設計一學生資訊管理系統,使之能提供以下功能 系統以選單方式工作 學生資訊錄入功能 學生資訊用檔案儲存 輸入 學生資訊瀏覽功能 輸出 查詢 排序功能 演算法 1 按學號查詢 2 按姓名查詢 學生資訊的刪...