版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課程設(shè)計(論文)任務書</p><p> 軟件 學 院 軟件+ 信控 ?! I(yè) 1 班 </p><p> 一、課程設(shè)計(論文)題目 機房機位預約模擬系統(tǒng)的設(shè)計與實現(xiàn) </p><p> 二、課程設(shè)計(論文)工作自 2017 年 1 月 2
2、日起至 2017 年 1 月 6 日止。</p><p> 三、課程設(shè)計(論文) 地點: 南區(qū) 創(chuàng)新大樓東樓406 </p><p> 四、課程設(shè)計(論文)內(nèi)容要求:</p><p><b> 1.課程設(shè)計的目的</b></p><p> 《數(shù)據(jù)結(jié)構(gòu)
3、》課程設(shè)計是計算機科學與技術(shù)專業(yè)集中實踐性環(huán)節(jié)之一,是學習完</p><p> 《數(shù)據(jù)結(jié)構(gòu)》課程后進行的一次全面的綜合練習。目的是要達到理論與實際應用相結(jié)</p><p> 合,使學生能夠根據(jù)數(shù)據(jù)對象的特性,學會數(shù)據(jù)組織的方法,能把現(xiàn)實世界中的實際</p><p> 問題在計算機內(nèi)部表示出來,并培養(yǎng)良好的程序設(shè)計技能。</p><p>
4、 要求能從實際應用問題出發(fā),合理地選擇數(shù)據(jù)結(jié)構(gòu),設(shè)計相應的數(shù)據(jù)處理算法,</p><p> 并對算法進行必要的分析;合理選擇編程工具,實現(xiàn)數(shù)據(jù)的物理結(jié)構(gòu)和相應的數(shù)據(jù)處</p><p> 理算法;對算法進行調(diào)試和測試,并對調(diào)試及測試結(jié)果進行分析;針對數(shù)據(jù)結(jié)構(gòu)及算</p><p> 法的設(shè)計、調(diào)試及測試過程認真寫出設(shè)計分析報告。</p><p
5、> 2.課程設(shè)計的要求及任務</p><p><b> ?。?)基本要求</b></p><p> 1)初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計、程序編碼、調(diào)試等基本方法和技能。 </p><p> 2)要求從問題需求入手,完成系統(tǒng)的分析與設(shè)計,獨立完成系統(tǒng)的數(shù)據(jù)和功能分析,</p><p> 應用《數(shù)據(jù)
6、結(jié)構(gòu)》知識,設(shè)計抽象數(shù)據(jù)類型、構(gòu)思算法、完成系統(tǒng)的設(shè)計。</p><p> 3)結(jié)合《數(shù)據(jù)結(jié)構(gòu)》理論知識,編寫程序求解指定問題,程序設(shè)計語言推薦使用C/C++,</p><p> 程序書寫規(guī)范,源程序需加必要的注釋。</p><p> 4)認真完成系統(tǒng)的調(diào)試與測試工作,測試數(shù)據(jù)要完備,詳細記錄測試結(jié)果。</p><p> 5)規(guī)范撰寫
7、課程設(shè)計報告。</p><p> ?。?)課程設(shè)計論文撰寫要求</p><p> 1)按照書稿的規(guī)格撰寫打印課程設(shè)計論文;</p><p> 2)論文包括任務書、目錄、緒論、正文、總結(jié)、參考文獻、附錄等;</p><p> 3)正文中要有問題描述與分析、數(shù)據(jù)結(jié)構(gòu)的設(shè)計、算法的設(shè)計、算法的實現(xiàn)、調(diào)</p><p>
8、<b> 試分析與結(jié)果;</b></p><p> 4)課程設(shè)計論文裝訂按學校的統(tǒng)一要求完成</p><p><b> ?。?)課設(shè)考核</b></p><p><b> 1)考勤和態(tài)度; </b></p><p> 2)任務的難易程度及設(shè)計思路;</p>
9、<p> 3)編碼及調(diào)試能力;</p><p> 4)論文撰寫的水平、格式的規(guī)范性。</p><p> (4)課程設(shè)計進度安排</p><p> 內(nèi)容 天數(shù) 地點</p><p> 構(gòu)思及收集資料 1 圖書館</p><p&g
10、t; 程序設(shè)計與調(diào)試 3 計算機房</p><p> 撰寫論文 1 圖書館</p><p> 具體任務:20臺機器,從早8點到晚8點,每兩個小時一個時間段。實現(xiàn)如下功能:</p><p> ?。?)機位空閑查詢,查詢空閑機位;</p><p> ?。?)機位預定
11、,根據(jù)輸入的日期和時間段查詢是否有空機位,若有則預約,若無則提供最近時間段的空機信息。另外,如果用戶要求在非空時間上機,則將用戶信息插入該時間段的等待列表。</p><p> ?。?)退出預定,根據(jù)輸入的時間撤銷該時間的預定。</p><p> ?。?)查詢是否有等待信息,若有則按順序顯示聯(lián)系方式,若無則顯示提示信息。</p><p> 提高部分:利用外部.txt
12、文件同步記錄所有數(shù)據(jù)。</p><p> 學生簽名: </p><p> 2017年 1月 2 日</p><p> 課程設(shè)計(論文)評審意見</p><p> ?。?)考勤和態(tài)度 :優(yōu)(?。?、良( )、中( )、一般( )、差(?。?lt;/p><p> (2)任務難
13、易及設(shè)計思路?。簝?yōu)(?。?、良(?。?、中(?。⒁话悖ā。?、差(?。?lt;/p><p> ?。?)編碼及調(diào)試能力 :優(yōu)(?。?、良( )、中( )、一般( )、差(?。?lt;/p><p> (4)論文撰寫水平及規(guī)范性:優(yōu)(?。⒘迹ā。?、中( )、一般(?。⒉睿ā。?lt;/p><p> 評閱人: 職稱: 副教授 </p&g
14、t;<p> 年 月 日</p><p><b> 目 錄</b></p><p><b> 1. 緒論1</b></p><p> 1.1 設(shè)計題目1</p><p> 1.2 模塊劃分1</p><p> 2. 需求分析....
15、...................................................................................1</p><p><b> 3. 系統(tǒng)設(shè)計1</b></p><p> 3.1數(shù)據(jù)結(jié)構(gòu).......................................................
16、..........................................1</p><p> 3.2 系統(tǒng)包含的函數(shù)2</p><p><b> 4. 編碼實現(xiàn)2</b></p><p><b> 4.1主菜單3</b></p><p> 4.2機位查詢..........
17、........................................................................................4</p><p><b> 4.3機位預定4</b></p><p><b> 4.4取消預定7</b></p><p> 4.5查詢等
18、待信息8</p><p> 5. 調(diào)試及運行結(jié)果10</p><p> 6. 課程設(shè)計心得12</p><p><b> 參考文獻13</b></p><p><b> 附 錄14</b></p><p><b> 1.緒論</b&g
19、t;</p><p><b> 1.1 設(shè)計題目</b></p><p> 機房預約系統(tǒng)的設(shè)計與實現(xiàn)</p><p> 操作系統(tǒng):Windows</p><p> 軟件:Visual C++ 6.0軟件</p><p><b> 1.2 模塊劃分</b></
20、p><p><b> 2.需求分析</b></p><p> .建立一個比較完善的菜單系統(tǒng)保證可以滿足用戶的所有需求;</p><p> .利用二維數(shù)組和一維數(shù)組建立一個模擬數(shù)據(jù)庫,使查詢系統(tǒng)建立在數(shù)據(jù)庫上進行查詢;</p><p> 將程序模塊化處理方便修改并且比較有條理,用函數(shù)來實現(xiàn)菜單的各種功能;</p&
21、gt;<p> 利用結(jié)構(gòu)體構(gòu)造所需的要的數(shù)組以及線性表,線性表采用順序儲存。</p><p><b> 3.系統(tǒng)設(shè)計</b></p><p><b> 3.1 數(shù)據(jù)結(jié)構(gòu)</b></p><p> 程序主要是用一維數(shù)組以及二維數(shù)組作為程序的樣本庫,用順序表順序儲存所有的信息,然后用文本轉(zhuǎn)換函數(shù)將其轉(zhuǎn)換成
22、文本文檔存儲。其中信息包括預定的機位、預定的時間段、以及預定所用的電話號碼。</p><p> 3.2 系統(tǒng)包含的函數(shù)</p><p> 主函數(shù)包含菜單,所以用while判斷語句來進行處理。</p><p> 機位查詢函數(shù)調(diào)用了通用函數(shù)庫同時用if的判斷語句來處理查詢問題</p><p> 機位預訂函數(shù)調(diào)用了通用函數(shù)和之前建立的數(shù)組結(jié)
23、構(gòu)體,同時在這個函數(shù)中建立文本文檔的的數(shù)據(jù)庫用以儲存用戶想要儲存的信息</p><p><b> 4.編碼實現(xiàn)</b></p><p><b> 4.1 主函數(shù)</b></p><p> void Menu() /*主界面*/</p><p><b> ?。?lt;/
24、b></p><p><b> int n,w;</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("\t\t\t\t機房機位預約系統(tǒng)\n");</p><
25、p> printf("\t\t\t\t菜單\n");</p><p> printf("\t\t\t 1.查詢某時間段機位狀態(tài)\n"); /*查詢某時間段機位狀態(tài)*/</p><p> printf("\t\t\t 2.預定空機位\n"); /*預定空機位*/</p><p> prin
26、tf("\t\t\t 3.取消預訂\n"); /*取消預訂*/</p><p> printf("\t\t\t 4.查詢等待信息\n"); /*查詢等待信息*/</p><p> printf("\t\t\t 5.退出\n"); /*退出*/</p><p> printf(&qu
27、ot;選擇菜單號(1-5):");</p><p> scanf("%d",&n); </p><p> if(n<1||n>5)</p><p> {w=1;getchar();}</p><p><b> else</b></p><p&g
28、t;<b> w=0;</b></p><p> }while(w==1);</p><p><b> switch(n)</b></p><p><b> {</b></p><p> case 1:shijianchaxun();break;</p>
29、<p> case 2:yuding();break; </p><p> case 3:quxiaoyuding();break;</p><p> case 4:dengdaixinxi();break;</p><p> case 5:exit(0);break;</p><p><b> }</b
30、></p><p> getchar();</p><p><b> }</b></p><p><b> 4.2機位查詢</b></p><p><b> *時間查詢*/</b></p><p> void shijianchaxun(
31、)</p><p><b> {</b></p><p><b> int time;</b></p><p> prin/tf("輸在 (8-20)范圍內(nèi)的時間:");</p><p> scanf("%d",&time);</p>
32、;<p> if(time<8||time>20)</p><p> {printf("\t時間輸入錯誤!\n");</p><p> printf("輸入在 (8-20)范圍內(nèi)的時間:");</p><p> scanf("%d",&time);</p>
33、;<p><b> }</b></p><p> detail(time); /*函數(shù)調(diào)用*/</p><p> getchar();</p><p><b> Menu();</b></p><p><b> }</b><
34、;/p><p><b> 4.3機位預定</b></p><p><b> /*預定函數(shù)*/</b></p><p> void yuding()</p><p> {int time,i=0,x,y;</p><p><b> FILE *fp;</b
35、></p><p><b> char c;</b></p><p> printf("在(8-20)時間范圍內(nèi)輸入你想要預定的時間:");</p><p> scanf("%d",&time);</p><p> if(time<8||time>
36、20)</p><p><b> {</b></p><p> printf("\t時間輸入錯誤!\n");</p><p> printf("\t在(8-20)時間范圍內(nèi)輸入你想要預定的時間:");</p><p> scanf("%d",&t
37、ime);</p><p><b> }</b></p><p> detail(time); /*函數(shù)調(diào)用*/</p><p> if(sum[T]>0)</p><p> { if((fp=fopen("waitlist.txt","a&quo
38、t;))==NULL)</p><p><b> {</b></p><p> printf("\n無法打開文件!\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p&
39、gt; printf("\n\t請輸入你想要預定的機號,并且留下你的電話號碼!:\n");</p><p> scanf("%s %s",wait[i].number,wait[i].telephonenumber);</p><p> for(i=0;i<1;i++)</p><p> fwrite(&
40、;wait[i],sizeof(struct waitlist),1,fp);</p><p> fclose(fp);/*向文本文檔添加一個結(jié)構(gòu)體單元*/</p><p> printf("\t再次輸入你想要預定的時間!\n");</p><p> scanf("%d",&x);</p><
41、p> if (time+x>20)</p><p> printf("\t預定時間錯誤請重新輸入\t\n");</p><p> sum[T]--; /*預定后該時間段空機位數(shù)減1*/</p><p> computer[T][x]=1; /*預定后該機狀態(tài)變?yōu)?*/</p><p>
42、 printf("\t預訂成功!\n");</p><p> getchar();</p><p><b> Menu();</b></p><p><b> }</b></p><p><b> else</b></p><p&
43、gt;<b> {</b></p><p> printf("這是在這個時間段內(nèi)未預定的電腦!\n");</p><p> for(i=T+1;i<6;i++)</p><p> { time=9+2*i;</p><p> detail(time); /*函數(shù)調(diào)用*/<
44、/p><p> if(sum[T]>0)</p><p> printf("\t最近的空閑時間是 %d,%d\n",2*i+8,2*i+10);break;</p><p><b> }</b></p><p> printf("\t你想要預定嗎?:y/n?");<
45、/p><p> scanf("%s",&c);</p><p> getchar();</p><p> if(c=='Y'||c=='y')</p><p><b> {</b></p><p> if((fp=fopen(&qu
46、ot;waitlist.txt","r"))==NULL)</p><p><b> {</b></p><p> printf("\n無法打開文件!\n");</p><p><b> exit(0);</b></p><p><b&g
47、t; }</b></p><p><b> else</b></p><p> { printf("waitlist: number telephonenumber\n");</p><p> for(i=0;!feof(fp);i++)</p><p><b>
48、{</b></p><p> fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);</p><p><b> }</b></p><p> fclose(fp);</p><p><b>
49、 }</b></p><p> for(i=0;i<10;i++)</p><p> { prione(i);}</p><p> printf("\n\t請輸入您想預定的機號并留下您的聯(lián)系方式!:\n");</p><p> if((fp=fopen("waitlist.txt&quo
50、t;,"a"))==NULL)</p><p><b> {</b></p><p> printf("\n無法打開文件!\n");</p><p><b> exit(0);</b></p><p><b> }</b><
51、/p><p> scanf("%s %s",wait[i].number,wait[i].telephonenumber);</p><p> for(i=0;i<1;i++)</p><p> fwrite(&wait[i],sizeof(struct waitlist),1,fp);</p><p>
52、 fclose(fp); /*若等待,就用文件的方式列出當時的等待列表并提示輸入你的等待序號和聯(lián)系方式*/</p><p> printf("再次輸入電腦的序號!\n");</p><p> scanf("%d",&y);</p><p> sum[T]--;
53、 </p><p> computer[T][y]=1; </p><p> printf("\t好了,請等待我們的電話!\n");</p><p><b> Menu();</b></p><p><b> }</b></p><p&g
54、t; else Menu();</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.4取消預定</b></p><p><b> /*取消預訂*/</b></p><p&g
55、t; void quxiaoyuding()</p><p><b> {</b></p><p> int time,number;</p><p> printf("在(8-20)時間范圍內(nèi)輸入你已經(jīng)預定的時間:");</p><p> scanf("%d",&
56、;time); </p><p> if(time<8||time>20)</p><p><b> {</b></p><p> printf("\t輸入時間錯誤!\n");</p><p> printf("\t在(8-20)時間范圍內(nèi)輸入你已經(jīng)預定的時間:"
57、;);</p><p> scanf("%d",&time);</p><p><b> }</b></p><p><b> else</b></p><p> {printf("\t輸入你預定的機號 :");</p><
58、p> scanf("%d",&number);}</p><p> detail(time);</p><p> sum[T]++; /*預定后該時間段空機位數(shù)加1*/</p><p> computer[T][number]=0; /*預定后該機狀態(tài)變?yōu)?*/</p><p> prin
59、tf("\t取消成功!\n");</p><p> getchar();</p><p><b> Menu();</b></p><p><b> }</b></p><p><b> 4.5查詢等待信息</b></p><p&
60、gt; /*查看等待信息*/</p><p> void dengdaixinxi()</p><p><b> {</b></p><p> int time,i;</p><p><b> FILE *fp;</b></p><p> printf("
61、;\t在(8-20)之間輸入您要搜索的時間:");</p><p> scanf("%d",&time);</p><p> if(time<8||time>20)</p><p><b> {</b></p><p> printf("\t時間輸入錯誤
62、!\n");</p><p> printf("\t在(8-20)之間輸入您要搜索的時間:");</p><p> scanf("%d",&time);</p><p><b> }</b></p><p><b> else</b>
63、</p><p><b> ;</b></p><p> if((fp=fopen("waitlist.txt","r"))==NULL)</p><p><b> {</b></p><p> printf("\nCannot open f
64、ile!\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p><b> else</b></p><p> { printf("waitlist: number telephonen
65、umber\n");</p><p> for(i=0;!feof(fp);i++)</p><p><b> {</b></p><p> fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);</p><
66、p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> for(i=0;i<10;i++)</p><p> { prione(i);}</p><p><b> Menu(
67、);</b></p><p><b> }</b></p><p> 5.調(diào)試以及運行結(jié)果</p><p><b> 5.1運行結(jié)果</b></p><p><b> 5.1.1主菜單</b></p><p><b> 5
68、.1.2預定機位</b></p><p><b> 5.1.3取消預定</b></p><p> 5.1.4 查詢等待機位</p><p><b> 6.課程設(shè)計心得</b></p><p> 課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要
69、環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術(shù)發(fā)展的日新日異,當今計算機應用在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握一些基本的軟件開發(fā)技術(shù)是十分重要和必要的。</p><p> 回顧起此次課程設(shè)計,至今我仍感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整一個星期的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學
70、到過的知識。</p><p> 程序設(shè)計過程有如解決一實際問題,從解決實際問題的角度,我們可以這樣來看:首先要了解這個問題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;其次,從問題的要害入手,從前到后的解決問題的每個方面,即從輸入開始入手,著重考慮如何從輸入導出輸出,在這個過程中,可確定所需的變量、數(shù)組、函數(shù),然后確定處理過程--算法;最后可得結(jié)論。</p><p> 熟能生
71、巧。平時應該多加訓練,要知道,即使我們能完全看懂一個程序,但要讓你自己寫出一個時仍是很困難的。它要求你對每一個語句,每一個變量,每一個函數(shù),每一個模塊都充分的熟悉,要知道它們的作用,作用域等等。因此只有平時做的多了,到時候才會游刃有余。</p><p> 一個多禮拜中,我有過山窮水盡的困惑;有過柳暗花明的驚喜;一個多禮拜的時間我經(jīng)歷了很多,也收獲了很多。與其說它是體力與腦力的作業(yè),不如說它是合作精神和毅力的考驗
72、。經(jīng)過這次課程設(shè)計,我不僅學到了很多知識和技能,更重要的是我學會了如何運用所學知識去解決實際問題.</p><p><b> 參考文獻</b></p><p> [1] 嚴蔚敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語言版)[M]. 北京:清華大學出版社, 2007.</p><p> [2] 譚浩強 《C語言程序設(shè)計(第二版)》[M].北京:清華大學出
73、版社2008</p><p> [3] 譚浩強 《C語言程序設(shè)計(第三版)》[M].北京:清華大學出版社 2014</p><p> [4] 姜仲秋主編 C語言程序設(shè)計,南京大學出版社 2001</p><p> [5] 譚浩強 《C語言程序設(shè)計教程(第四版)》[M].北京:清華大學出版社2014</p><p><b>
74、附 錄</b></p><p><b> 源代碼</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<string.h></p><p>
75、; #define N 20</p><p> #define T (time-8)/2</p><p> int sum[6]={0};</p><p> int computer[6][20]={</p><p> {1,0,1,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1},</p>&l
76、t;p> {1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1},</p><p> {1,1,0,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,1},</p><p> {1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1},</p><p> {1,1,0,1,1,1,0,0
77、,0,0,0,0,1,1,0,1,1,1,1,0},</p><p> {1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1}</p><p> };/*該數(shù)組表示假設(shè)某天某人查詢時機房各個時間段機位數(shù)情況*/</p><p> void Menu(); </p><p> void shiji
78、anchaxun();</p><p> void yuding();</p><p> void quxiaoyuding();</p><p> void dengdaixinxi();</p><p> void detail(int time);</p><p> void prione(int i)
79、;</p><p> struct waitlist /*等待列表*/</p><p><b> {</b></p><p> char number[3];</p><p> char telephonenumber[11]; </p><p> } wait[N
80、];</p><p> void printone(int i);</p><p> void main()</p><p><b> {</b></p><p> Menu(); /*當前狀態(tài)函數(shù)*/</p><p><b> }</b></p>
81、;<p> void Menu() /*主界面*/</p><p><b> {</b></p><p><b> int n,w;</b></p><p><b> do</b></p><p><b> {</b>
82、;</p><p> printf("\t\t\t\t機房機位預約系統(tǒng)\n");</p><p> printf("\t\t\t\t菜單\n");</p><p> printf("\t\t\t 1.查詢某時間段機位狀態(tài)\n"); /*查詢某時間段機位狀態(tài)*/</p><p>
83、; printf("\t\t\t 2.預定空機位\n"); /*預定空機位*/</p><p> printf("\t\t\t 3.取消預訂\n"); /*取消預訂*/</p><p> printf("\t\t\t 4.查詢等待信息\n"); /*查詢等待信息*/</p><p>
84、 printf("\t\t\t 5.退出\n"); /*退出*/</p><p> printf("選擇菜單號(1-5):");</p><p> scanf("%d",&n); </p><p> if(n<1||n>5)</p><p> {w
85、=1;getchar();}</p><p><b> else</b></p><p><b> w=0;</b></p><p> }while(w==1);</p><p><b> switch(n)</b></p><p><b&
86、gt; {</b></p><p> case 1:shijianchaxun();break;</p><p> case 2:yuding();break; </p><p> case 3:quxiaoyuding();break;</p><p> case 4:dengdaixinxi();break;<
87、/p><p> case 5:exit(0);break;</p><p><b> }</b></p><p> getchar();</p><p><b> }</b></p><p><b> /*時間查詢*/</b></p>
88、<p> void shijianchaxun()</p><p><b> {</b></p><p><b> int time;</b></p><p> printf("輸在 (8-20)范圍內(nèi)的時間:");</p><p> scanf("
89、;%d",&time);</p><p> if(time<8||time>20)</p><p> {printf("\t時間輸入錯誤!\n");</p><p> printf("輸入在 (8-20)范圍內(nèi)的時間:");</p><p> scanf("
90、;%d",&time);</p><p><b> }</b></p><p> detail(time); /*函數(shù)調(diào)用*/</p><p> getchar();</p><p><b> Menu();</b></p><
91、p><b> }</b></p><p><b> /*預定函數(shù)*/</b></p><p> void yuding()</p><p> {int time,i=0,x,y;</p><p><b> FILE *fp;</b></p><
92、;p><b> char c;</b></p><p> printf("在(8-20)時間范圍內(nèi)輸入你想要預定的時間:");</p><p> scanf("%d",&time);</p><p> if(time<8||time>20)</p><
93、p><b> {</b></p><p> printf("\t時間輸入錯誤!\n");</p><p> printf("\t在(8-20)時間范圍內(nèi)輸入你想要預定的時間:");</p><p> scanf("%d",&time);</p>&l
94、t;p><b> }</b></p><p> detail(time); /*函數(shù)調(diào)用*/</p><p> if(sum[T]>0)</p><p> { if((fp=fopen("waitlist.txt","a"))==NULL)</p&g
95、t;<p><b> {</b></p><p> printf("\n無法打開文件!\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> printf("\
96、n\t請輸入你想要預定的機號,并且留下你的電話號碼!:\n");</p><p> scanf("%s %s",wait[i].number,wait[i].telephonenumber);</p><p> for(i=0;i<1;i++)</p><p> fwrite(&wait[i],sizeof(str
97、uct waitlist),1,fp);</p><p> fclose(fp);/*向文本文檔添加一個結(jié)構(gòu)體單元*/</p><p> printf("\t再次輸入你想要預定的時間!\n");</p><p> scanf("%d",&x);</p><p> if (time+x&g
98、t;20)</p><p> printf("\t預定時間錯誤請重新輸入\t\n");</p><p> sum[T]--; /*預定后該時間段空機位數(shù)減1*/</p><p> computer[T][x]=1; /*預定后該機狀態(tài)變?yōu)?*/</p><p> printf("\t預訂成
99、功!\n");</p><p> getchar();</p><p><b> Menu();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {<
100、/b></p><p> printf("這是在這個時間段內(nèi)未預定的電腦!\n");</p><p> for(i=T+1;i<6;i++)</p><p> { time=9+2*i;</p><p> detail(time); /*函數(shù)調(diào)用*/</p><p>
101、if(sum[T]>0)</p><p> printf("\t最近的空閑時間是 %d,%d\n",2*i+8,2*i+10);break;</p><p><b> }</b></p><p> printf("\t你想要預定嗎?:y/n?");</p><p>
102、scanf("%s",&c);</p><p> getchar();</p><p> if(c=='Y'||c=='y')</p><p><b> {</b></p><p> if((fp=fopen("waitlist.txt&quo
103、t;,"r"))==NULL)</p><p><b> {</b></p><p> printf("\n無法打開文件!\n");</p><p><b> exit(0);</b></p><p><b> }</b><
104、/p><p><b> else</b></p><p> { printf("waitlist: number telephonenumber\n");</p><p> for(i=0;!feof(fp);i++)</p><p><b> {</b></p&g
105、t;<p> fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p&
106、gt;<p> for(i=0;i<10;i++)</p><p> { prione(i);}</p><p> printf("\n\t請輸入您想預定的機號并留下您的聯(lián)系方式!:\n");</p><p> if((fp=fopen("waitlist.txt","a"))=
107、=NULL)</p><p><b> {</b></p><p> printf("\n無法打開文件!\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p>
108、scanf("%s %s",wait[i].number,wait[i].telephonenumber);</p><p> for(i=0;i<1;i++)</p><p> fwrite(&wait[i],sizeof(struct waitlist),1,fp);</p><p> fclose(fp);
109、 /*若等待,就用文件的方式列出當時的等待列表并提示輸入你的等待序號和聯(lián)系方式*/</p><p> printf("再次輸入電腦的序號!\n");</p><p> scanf("%d",&y);</p><p> sum[T]--; </p>
110、<p> computer[T][y]=1; </p><p> printf("\t好了,請等待我們的電話!\n");</p><p><b> Menu();</b></p><p><b> }</b></p><p> else Menu();<
111、;/p><p><b> }</b></p><p><b> }</b></p><p><b> /*取消預訂*/</b></p><p> void quxiaoyuding()</p><p><b> {</b>&l
112、t;/p><p> int time,number;</p><p> printf("在(8-20)時間范圍內(nèi)輸入你已經(jīng)預定的時間:");</p><p> scanf("%d",&time); </p><p> if(time<8||time>20)</p>
113、<p><b> {</b></p><p> printf("\t輸入時間錯誤!\n");</p><p> printf("\t在(8-20)時間范圍內(nèi)輸入你已經(jīng)預定的時間:");</p><p> scanf("%d",&time);</p>
114、<p><b> }</b></p><p><b> else</b></p><p> {printf("\t輸入你預定的機號 :");</p><p> scanf("%d",&number);}</p><p> det
115、ail(time);</p><p> sum[T]++; /*預定后該時間段空機位數(shù)加1*/</p><p> computer[T][number]=0; /*預定后該機狀態(tài)變?yōu)?*/</p><p> printf("\t取消成功!\n");</p><p> getchar();</p>
116、;<p><b> Menu();</b></p><p><b> }</b></p><p> /*查看等待信息*/</p><p> void dengdaixinxi()</p><p><b> {</b></p><p&g
117、t; int time,i;</p><p><b> FILE *fp;</b></p><p> printf("\t在(8-20)之間輸入您要搜索的時間:");</p><p> scanf("%d",&time);</p><p> if(time<
118、8||time>20)</p><p><b> {</b></p><p> printf("\t時間輸入錯誤!\n");</p><p> printf("\t在(8-20)之間輸入您要搜索的時間:");</p><p> scanf("%d"
119、,&time);</p><p><b> }</b></p><p><b> else</b></p><p><b> ;</b></p><p> if((fp=fopen("waitlist.txt","r"))
120、==NULL)</p><p><b> {</b></p><p> printf("\nCannot open file!\n");</p><p><b> exit(0);</b></p><p><b> }</b></p>
121、<p><b> else</b></p><p> { printf("waitlist: number telephonenumber\n");</p><p> for(i=0;!feof(fp);i++)</p><p><b> {</b></p><
122、p> fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);</p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><
123、;p> for(i=0;i<10;i++)</p><p> { prione(i);}</p><p><b> Menu();</b></p><p><b> }</b></p><p><b> /*公共函數(shù)*/ </b></p>&
124、lt;p> void detail(int time) /*此函數(shù)功能是實現(xiàn)查找每個時間段空機位總數(shù)和空機位號*/</p><p><b> { </b></p><p> int i,j=0,k,s=0;</p><p> int v[30];</p><p> for(i=0;
125、i<20;i++)</p><p><b> {</b></p><p> if(computer[T][i]==0)</p><p><b> { s++;</b></p><p><b> v[j++]=i;</b></p><p>
126、;<b> }</b></p><p><b> }</b></p><p><b> sum[T]=s;</b></p><p> printf("\t目前空置的電腦:%d\n",sum[T]);</p><p> for(k=0;k<j;
127、k++)</p><p> printf("\t空置的電腦是:%d\n",v[k]);</p><p><b> }</b></p><p> void prione(int i) /*此函數(shù)功能是實現(xiàn)輸出等待列表到屏幕*/</p><p><b> {<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計報告—機房機位預約模擬系統(tǒng)
- 課程設(shè)計---機房收費設(shè)計報告
- c語言課程設(shè)計報告——機房管理系統(tǒng)
- 機房收費管理系統(tǒng)課程設(shè)計
- 計算機機房管理系統(tǒng)課程設(shè)計報告
- 機房學生上機管理系統(tǒng)課程設(shè)計
- 《實驗室預約管理信息系統(tǒng)》課程設(shè)計報告
- 電信機房課程設(shè)計
- 大型數(shù)據(jù)庫課程設(shè)計報告——機房管理系統(tǒng)
- (c語言)機房收費管理系統(tǒng)課程設(shè)計
- (c語言)機房收費管理系統(tǒng)課程設(shè)計
- (c語言)機房收費管理系統(tǒng)課程設(shè)計
- 制冷機房課程設(shè)計--冷凍機房設(shè)計
- c語言課程設(shè)計--機房機位預定系統(tǒng)
- 機房監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)課程設(shè)計
- 機房管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 制冷機房課程設(shè)計----工藝冷凍水系統(tǒng)設(shè)計
- 學校機房管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計
- 計件系統(tǒng)設(shè)計 課程設(shè)計報告
- 課程設(shè)計-機房管理系統(tǒng)的開發(fā)與應用
評論
0/150
提交評論