版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
沈陽航空航天大學(xué)課程設(shè)計學(xué)號_4班級_1534070203姓名_李蘊(yùn)琪__指導(dǎo)教師孫玉霞 2015年9月21日沈陽航空航天大學(xué)課程設(shè)計任務(wù)書學(xué)院:自動化學(xué)院專業(yè):自動化班級:1534070203學(xué)號:4題目:電影院售票系統(tǒng)一、課程設(shè)計時間二、課程設(shè)計內(nèi)容用C語言編寫軟件完成以下任務(wù):某電影院共有A、B、C、D四個場次在放映,具體的數(shù)據(jù)如下:場次 電影名稱放映時間 座位數(shù)量 已售票數(shù)A 鋼鐵俠318:30 150 0B 致青春19:30 150 0C 姜戈20:00 150 0D 生化危機(jī)420:20 100 0請寫程序模擬這個售票過程(電影開場10分鐘內(nèi)允許退票,時間函數(shù)見參考資料),將所有的信息保存到文件中。三、課程設(shè)計要求程序質(zhì)量:貫徹結(jié)構(gòu)化的程序設(shè)計思想。用戶界面友好,功能明確,操作方便。用戶界面中的菜單至少應(yīng)包括“售票”、“退票”、“統(tǒng)計滿座率”、“退出”4項。代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計說明書:課程結(jié)束后,上交課程設(shè)計說明書和源程序。課程設(shè)計說明書的內(nèi)容參見提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師:________學(xué)生簽名:________五、成績六、教師評語目錄TOC\o"1-3"\h\z一、需求分析 2二、設(shè)計分析 3三、主要界面截圖 8四、技術(shù)要點(diǎn) 10五、個人總結(jié) 11六、參考文獻(xiàn) 12七、源程序 12一、需求分析根據(jù)任務(wù)書給定的“課程設(shè)計內(nèi)容”和“課程設(shè)計要求”作如下的需求分析。該系統(tǒng)是一個較典型的售票操作系統(tǒng),其使用者為工作人員和廣大消費(fèi)者,系統(tǒng)應(yīng)該具有安全、穩(wěn)定、功能齊全的特點(diǎn)。1.安全性分析該系統(tǒng)管理的數(shù)據(jù)直接對電影院的收入產(chǎn)生影響,數(shù)據(jù)量較大且是一種基礎(chǔ)性數(shù)據(jù),能夠為電影院管理提供重要參考,該程序簡潔明了,無贅余語句,增加了程序運(yùn)行的安全性。2.穩(wěn)定性分析指系統(tǒng)比較健壯,只要是用戶的合理操作,系統(tǒng)都應(yīng)給出合理正確的回應(yīng),而不是出現(xiàn)令用戶感到意外的系統(tǒng)錯誤或系統(tǒng)崩潰。3.主要功能分析(1)顯示售票系統(tǒng):這個程序可以模擬電影院售票系統(tǒng),可以供顧客參考,另外這個系統(tǒng)簡單明了,可以讓顧客在選擇看電影時更容易。(2)顯示滿座率:這個系統(tǒng)可以統(tǒng)計電影院的滿座率,給管理人員提供了方便,可以更快的計算利潤。(3)顯示退票系統(tǒng):這個程序可以模擬電影院退票系統(tǒng),可以供顧客參考,另外這個系統(tǒng)方便快捷,可以讓顧客在退票時更加容易方便。二、設(shè)計分析主要有四個功能模塊,每個模塊對應(yīng)一個C語言自定義函數(shù)。這些函數(shù)原型與其功能簡述如下:添加票據(jù)信息函數(shù):將各個場次的電影名稱、放映時間、總票數(shù)以與剩余票數(shù)添加到函數(shù)中,用戶在進(jìn)行買票時對當(dāng)前數(shù)據(jù)進(jìn)行參考,最后決定自己購買哪場電影,為顧客帶來方便。售票函數(shù):在該功能模塊中,顧客可根據(jù)提示信息,選擇自己想要購買的電影票,選擇適合自己的時間段,自己喜歡的電影以與購買的數(shù)量,同時,系統(tǒng)會根據(jù)當(dāng)前票據(jù)信息對所買的票數(shù)進(jìn)行判斷,如不符合實際情況,會給出提示。退票函數(shù):在該功能模塊中,顧客可根據(jù)提示信息,選擇自己想要退掉的電影票,選擇退票的電影以與退票的數(shù)量,同時,系統(tǒng)會根據(jù)當(dāng)前票據(jù)信息與時間信息對所退的票據(jù)進(jìn)行判斷,如不符合實際情況,會給出提示不予退票。(4)計滿座率函數(shù):該部分里,每場電影售出票時都會進(jìn)行累加,得出總票數(shù),用售出的票數(shù)除上總座位數(shù),即可得出該場的滿場率。程序總體結(jié)構(gòu)圖(N-S框圖)打開文件movie_information.txt打開文件movie_information.txtif(fp==NULL)if(fp==NULL)圖1文件讀取程序圖關(guān)閉文件讀取至文件末尾讀取文件內(nèi)容“打開文件失敗”返回exit(0)否是圖1文件讀取程序圖關(guān)閉文件讀取至文件末尾讀取文件內(nèi)容“打開文件失敗”返回exit(0)否是圖2買票系統(tǒng)程序圖剩余座位數(shù)減一賣票數(shù)加一輸入票數(shù)輸出此電影已播放是否電影未播放輸出電影信息輸出無此電影否是 if(strcmp(inf[i].name,s)==0)輸入要觀看的電影名稱圖2買票系統(tǒng)程序圖剩余座位數(shù)減一賣票數(shù)加一輸入票數(shù)輸出此電影已播放是否電影未播放輸出電影信息輸出無此電影否是 if(strcmp(inf[i].name,s)==0)輸入要觀看的電影名稱輸入想要退票的電影輸入想要退票的電影if(strcmp(inf[i].name,s)==0)是否輸輸出電影信息出無此電影未播出電是否影輸出無法輸入票數(shù)退票座數(shù)加一賣票數(shù)減一圖3退票系統(tǒng)程序圖圖3退票系統(tǒng)程序圖圖3主程序程序圖Stime()Menu()Read()輸入選項choiceChoice=1?是否buy_choice=2?ticket()是否quit_choice=3?ticket()是否manzuo()choice=4?是否exit(0)圖3主程序程序圖Stime()Menu()Read()輸入選項choiceChoice=1?是否buy_choice=2?ticket()是否quit_choice=3?ticket()是否manzuo()choice=4?是否exit(0)主要界面截圖圖1菜單界面圖2買票界面圖2買票界面圖3退票界面圖3退票界面圖4滿座率界面圖4滿座率界面四、技術(shù)要點(diǎn)(對本程序貢獻(xiàn)較大的C語言知識點(diǎn);重要算法的設(shè)計與實現(xiàn))1.結(jié)構(gòu)體的應(yīng)用:定義了結(jié)構(gòu)體用來描述電影票的放映時間、座位數(shù)量、已售票數(shù)、滿場率、票價,具體定義如下:structinf charrate[20]; charname[20]; inttime_hour; inttime_min; intseat; intsell;所定義的結(jié)構(gòu)體主要用于定義數(shù)組2.部分函數(shù)的說明:售票函數(shù)buy():在該函數(shù)部分,加了一個判斷語句,判斷顧客所輸入的購買票數(shù)是否符合當(dāng)前情況,若不符合,將給出相應(yīng)的提示具體程序如下:printf("請輸入你要觀看的電影名稱:"); scanf("%s",s); for(i=0;i<p;i++) if(strcmp(inf[i].name,s)==0)五、個人總結(jié)通過一周課設(shè),我的課程設(shè)計基本達(dá)到要求。在這為期一星期的C程序課程設(shè)計中,讓我學(xué)到了很多,了解到了自身的不足。我深刻的體會到細(xì)心的重要性。C語言程序設(shè)計是一個繁瑣,需要投入很多的心思和精力的活。有時它會因為一個標(biāo)點(diǎn)符號,讓所有的心血白費(fèi)。因而我們需要的不僅僅是平日知識的積累,還要養(yǎng)成良好的習(xí)慣,才能保證我們的路可以越走越遠(yuǎn)!同時我也明白,當(dāng)我們面臨困難時,我們應(yīng)該正面迎擊!讓我增加了對c語言的興趣和對程序的了解,同時增加了我的自信。讓我更熟練的編寫程序和理解程序。C語言程序也算是對我們耐心的考驗,只有不懈的追求,才能迎向勝利的曙光!六、參考文獻(xiàn)1譚浩強(qiáng).C程序設(shè)計.北京:清華大學(xué)出版社,20052劉成等.C語言程序設(shè)計實驗指導(dǎo)與習(xí)題集.北京:中國鐵道出版社,2006源程序#include<stdio.h>#include<malloc.h>#include<string.h>#include<conio.h>#include<stdlib.h>#include<time.h>structinf charrate[20]; charname[20]; inttime_hour; inttime_min; intseat; intsell;}inf[10];charn[20];intp;structtm*ptr;voidmenu()printf("*******************menu******************\n");printf("* 1買票\n\r");printf("* 2退票\n\r");printf("* 3滿座率\n\r");printf("* 4退出\n\r");printf("*****************************************\n");voidread() inti,re; FILE*fp; fp=fopen("movie_information.txt","r"); if(fp==NULL) printf("文件打開失敗!"); exit(0); for(i=0;;i++) re=fscanf(fp,"%s%s%d%d%d%d\n",inf[i].rate,inf[i].name,&inf[i].time_hour,&inf[i].time_min,&inf[i].seat,&inf[i].sell); if(re==EOF)break; p=i; for(i=0;i<10;i++) if(inf[i].rate=='\0') break; printf("讀取成功!\n"); fclose(fp);voidbaocun() inti; FILE*fp; fp=fopen("file08.txt","w"); if(fp==NULL) printf("文件打開失敗!"); exit(0); for(i=0;i<p;i++) fprintf(fp,"%s%s%d%d%d%d\n",inf[i].rate,inf[i].name,&inf[i].time_hour,&inf[i].time_min,&inf[i].seat,&inf[i].sell); printf("數(shù)據(jù)保存完畢!\n"); fclose(fp);voidstime() time_tit; it=time(NULL); ptr=localtime(&it); printf("現(xiàn)在的時間是%4d年%02d月%02d日%d:%d:%d\n",ptr->tm_year+1900,ptr->tm_mon+1,ptr->tm_mday,ptr->tm_hour,ptr->tm_min,ptr->tm_sec);intminate(intq,intp)//將時間全部轉(zhuǎn)換為分鐘 inttime_sum; time_sum=60*q+p; returntime_sum;voidbuy_ticket() inti,a; chars[20]; printf("請輸入你要觀看的電影名稱:"); scanf("%s",s); for(i=0;i<p;i++) if(strcmp(inf[i].name,s)==0) printf("您想要觀看的電影信息如下:\n"); printf("%s%s%d:%d%d%d\n",inf[i].rate,inf[i].name,inf[i].time_hour,inf[i].time_min,inf[i].seat,inf[i].sell); if(minate(inf[i].time_hour,inf[i].time_min)>minate(ptr->tm_hour,ptr->tm_min)) printf("請輸入你要購買的票數(shù):"); scanf("%d",&a); inf[i].seat-=a; inf[i].sell+=a; else printf("此電影在今日%d:%d已經(jīng)開始播放,已經(jīng)無票\n",inf[i].time_hour,inf[i].time
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建師范大學(xué)《人物線性素描二》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《個性化新聞攝影基礎(chǔ)和實踐案例解析》2021-2022學(xué)年第一學(xué)期期末試卷
- 領(lǐng)導(dǎo)干部帶班作業(yè)記錄表
- 2024屆新疆木壘縣中學(xué)高三1月檢測試題數(shù)學(xué)試題
- 2024屆上海市市西初級中學(xué)高三下學(xué)期最后一次模擬考試試卷數(shù)學(xué)試題
- 幼兒課件制作軟件
- 2024年蘭州客運(yùn)從業(yè)資格證實際操作考試答案
- 2024年杭州客運(yùn)資格證試題及答案選擇題
- 2024年云南客運(yùn)從業(yè)資格證都考什么題型
- 2024年沈陽客運(yùn)從業(yè)資格證急救考試試題教程
- 請款單模板(范本)
- 2024高校大學(xué)《輔導(dǎo)員》招聘考試題庫(含答案)
- 管道保溫體積面積計算公式
- 2024-2025學(xué)年部編版思想政治高一上學(xué)期試卷及答案解析
- 2024年江西省“振興杯”工業(yè)機(jī)器人系統(tǒng)操作員競賽考試題庫(含答案)
- JGJ196-2010建筑施工塔式起重機(jī)安裝、使用、拆卸安全技術(shù)規(guī)程
- 2024-2030年扭力工具行業(yè)市場現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評估規(guī)劃分析研究報告
- Unit3SportsandFitnessReadingforwriting教學(xué)設(shè)計2023-2024學(xué)年人教版高中英語必修第一冊
- 100以內(nèi)兩位數(shù)進(jìn)位加法退位減法計算題-(直接打印版)
- 第五單元 跟作家學(xué)寫作 把事情寫清楚 單元任務(wù)群整體 教學(xué)設(shè)計 -2024-2025學(xué)年語文四年級上冊統(tǒng)編版
- 大氣污染控制工程智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學(xué)
評論
0/150
提交評論