![c語言課程設(shè)計機房機位預(yù)定系統(tǒng)絕對正確-附源代碼_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/e00347d2-b43f-496a-8e3c-eff1ab7a6b51/e00347d2-b43f-496a-8e3c-eff1ab7a6b511.gif)
![c語言課程設(shè)計機房機位預(yù)定系統(tǒng)絕對正確-附源代碼_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/e00347d2-b43f-496a-8e3c-eff1ab7a6b51/e00347d2-b43f-496a-8e3c-eff1ab7a6b512.gif)
![c語言課程設(shè)計機房機位預(yù)定系統(tǒng)絕對正確-附源代碼_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/e00347d2-b43f-496a-8e3c-eff1ab7a6b51/e00347d2-b43f-496a-8e3c-eff1ab7a6b513.gif)
![c語言課程設(shè)計機房機位預(yù)定系統(tǒng)絕對正確-附源代碼_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/e00347d2-b43f-496a-8e3c-eff1ab7a6b51/e00347d2-b43f-496a-8e3c-eff1ab7a6b514.gif)
![c語言課程設(shè)計機房機位預(yù)定系統(tǒng)絕對正確-附源代碼_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/22/e00347d2-b43f-496a-8e3c-eff1ab7a6b51/e00347d2-b43f-496a-8e3c-eff1ab7a6b515.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上1 設(shè)計目的 機房機位預(yù)定系統(tǒng)2 任務(wù)概述 20臺機器,編號1到20,從早八點到晚八點。兩小時一個時間段,每次可預(yù)定一個時間段。功能要求:(1)系統(tǒng)以菜單方式工作(2)查詢,根據(jù)輸入時間,輸出機位信息。(3)機位預(yù)定,根據(jù)輸入的時間查詢是否有空機位,若有則預(yù)約,若無則提供最近的時間段,另:若用戶在非空時間上機,則將用戶信息列入等待列表。(4)退出預(yù)定,根據(jù)輸入的時間,機器號撤銷該事件的預(yù)定?。?)查詢是否有等待信息,若有則提供最優(yōu)解決方案(等待時間盡量短),若無則顯示提示信息。.3 模塊劃分機房機位預(yù)約系統(tǒng)查詢機位預(yù)定機位退出預(yù)定查詢等待信息4 主要函數(shù)說明及其N-S
2、圖1. 主函數(shù):int main()Menu(); /*當前狀態(tài)函數(shù)*/void Menu() /*主界面*/int n,w;do puts("tt*機房機位預(yù)約系統(tǒng)*n"); puts("tt*菜單*n"); puts("ttt 1.查詢某時間段機位狀態(tài)"); /*查詢某時間段機位狀態(tài)*/ puts("ttt 2.預(yù)定空機位"); /*預(yù)定空機位*/ puts("ttt 3.取消預(yù)訂"); /*取消預(yù)訂*/ puts("ttt 4.查詢等待信息"); /*查詢等待信息*/
3、puts("ttt 5.退出"); /*退出*/ puts("tt*n"); printf("選擇菜單號(1-5):"); scanf("%d",&n); if(n<1|n>5) w=1;getchar(); else w=0;while(w=1);switch(n)case 1:Situation();break;case 2:Book();break; case 3:Cancel();break;case 4:SearchWaiting();break;case 5:exit(0);brea
4、k;getch();2. 機位查詢:void Situation()int time;printf("輸在 (8-20)范圍內(nèi)的時間:");scanf("%d",&time);if(time<8|time>20)printf("t時間輸入錯誤!n");printf("輸入在 (8-20)范圍內(nèi)的時間:");scanf("%d",&time); detail(time); /*函數(shù)調(diào)用*/getchar();Menu();3. 機位預(yù)定:void Book()int t
5、ime,i=0,x,y;FILE *fp; char c; printf("在(8-20)時間范圍內(nèi)輸入你想要預(yù)定的時間:"); scanf("%d",&time); if(time<8|time>20) printf("t時間輸入錯誤!n"); printf("t在(8-20)時間范圍內(nèi)輸入你想要預(yù)定的時間:"); scanf("%d",&time); detail(time); /*函數(shù)調(diào)用*/if(sumT>0) if(fp=fopen("&qu
6、ot;,"a")=NULL) printf("n無法打開文件!n"); exit(0); printf("nt請輸入你想要預(yù)定的機號,并且留下你的電話號碼!:n"); scanf("%s %s",waiti.number,waiti.telephonenumber);for(i=0;i<1;i+) fwrite(&waiti,sizeof(struct waitlist),1,fp); fclose(fp);/*向文本文檔添加一個結(jié)構(gòu)體單元*/printf("t再次輸入你想要預(yù)定的時間!n&
7、quot;);scanf("%d",&x);/*sumT-; / *預(yù)定后該時間段空機位數(shù)減1*/*computerTx=1; / *預(yù)定后該機狀態(tài)變?yōu)?*/printf("t預(yù)訂成功!n");getchar();Menu();elseprintf("這是在這個時間段內(nèi)未預(yù)定的電腦!n");for(i=T+1;i<6;i+) time=9+2*i;detail(time); /*函數(shù)調(diào)用*/if(sumT>0)printf("tThe latest free time is %d,%dn",2*
8、i+8,2*i+10);break;printf("t你想要預(yù)定嗎:y/n");scanf("%s",&c);getchar();if(c='Y'|c='y') if(fp=fopen("","r")=NULL) printf("n無法打開文件!n"); exit(0); else printf("waitlist: number telephonenumbern"); for(i=0;!feof(fp);i+) fscanf(fp,&
9、quot;%s %s",&waiti.number,&waiti.telephonenumber); fclose(fp); for(i=0;i<10;i+) prione(i); printf("nt請輸入你想要預(yù)定的機號,并且留下你的電話號碼!:n"); if(fp=fopen("","a")=NULL) printf("n無法打開文件!n"); exit(0); scanf("%s %s",waiti.number,waiti.telephonenumber
10、); for(i=0;i<1;i+) fwrite(&waiti,sizeof(struct waitlist),1,fp); fclose(fp); /*若等待,就用文件的方式列出當時的等待列表并提示輸入你的等待序號和聯(lián)系方式*/printf("再次輸入電腦的序號!n");scanf("%d",&y);sumT-; computerTy=1; printf("t好了,請等待我們的電話!n"); Menu(); else Menu();N4. 取消預(yù)定:void Cancel()int time,number;p
11、rintf("在(8-20)時間范圍內(nèi)輸入你已經(jīng)預(yù)定的時間:");scanf("%d",&time); if(time<8|time>20) printf("t輸入時間錯誤!n"); printf("t在(8-20)時間范圍內(nèi)輸入你已經(jīng)預(yù)定的時間:"); scanf("%d",&time); elseprintf("t輸入你預(yù)定的機號 :");scanf("%d",&number);detail(time); /* su
12、mT+; / *預(yù)定后該時間段空機位數(shù)加1*/*computerTnumber=0; / *預(yù)定后該機狀態(tài)變?yōu)?*/printf("t取消成功!n");getchar();Menu();5. 查詢等待信息:void SearchWaiting()int time,i; FILE *fp;printf("tInput time you want to search between(8-20):");scanf("%d",&time);if(time<8|time>20) printf("tWrong tim
13、e!n"); printf("tInput time you want to search between(8-20):"); scanf("%d",&time);else; if(fp=fopen("","r")=NULL) printf("nCannot open file!n"); exit(0); else printf("waitlist: number telephonenumbern"); for(i=0;!feof(fp);i+) fscan
14、f(fp,"%s %s",&waiti.number,&waiti.telephonenumber); fclose(fp); for(i=0;i<10;i+) prione(i);Menu();5 程序運行數(shù)據(jù)及其結(jié)果1. 主菜單:2.機位查詢:3.機位預(yù)定:4.查詢等待信息:6 課程設(shè)計心得課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓(xùn)練和考察過程.隨著科學技術(shù)發(fā)展的日新日異,當今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握一些基本的軟件開發(fā)技術(shù)是十
15、分重要和必要的?;仡櫰鸫舜握n程設(shè)計,至今我仍感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整一個星期的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實際動手能力和獨立思考的能力,這樣才能真正為體會和認識它,才能寫出一個完整的程序代碼,才能使自己在過程中得到鍛煉和提高。在設(shè)計的過程中遇到問題,這畢竟獨立做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不
16、足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體的建立,指針的應(yīng)用等都不太熟練。通過這次課程設(shè)計,也使我對以前所學過的知識重新溫故和加強。程序設(shè)計過程有如解決一實際問題,從解決實際問題的角度,我們可以這樣來看:首先要了解這個問題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;其次,從問題的要害入手,從前到后的解決問題的每個方面,即從輸入開始入手,著重考慮如何從輸入導(dǎo)出輸出,在這個過程中,可確定所需的變量、數(shù)組、函數(shù),然后確定處理過程算法;最后可得結(jié)論。通過這次課程設(shè)計,我深刻地體會到:<1>.細節(jié)決定成?。涸趯W習的過程中,要注意每一個細節(jié),要知道一個分
17、隔符或一個括號都會使整個程序出現(xiàn)錯誤。<2>.要熟練掌握一些經(jīng)典的結(jié)構(gòu)和方法,如選擇排序,遞歸,遞推等,在遇到問題是可直接應(yīng)用,快速解決問題。<3>.要熟悉一些標準數(shù)據(jù)庫,對一些可直接利用的函數(shù)就直接利用,沒必要重新定義。<4>.在設(shè)計過程中最好使程序模塊化,既便于閱讀,也可增加其移植性。<5>.熟能生巧。平時應(yīng)該多加訓(xùn)練,要知道,即使我們能完全看懂一個程序,但要讓你自己寫出一個時仍是很困難的。它要求你對每一個語句,每一個變量,每一個函數(shù),每一個模塊都充分的熟悉,要知道它們的作用,作用域等等。因此只有平時做的多了,到時候才會游刃有余。一個多禮拜中
18、,我有過山窮水盡的困惑;有過柳暗花明的驚喜;一個多禮拜的時間我經(jīng)歷了很多,也收獲了很多。與其說它是體力與腦力的作業(yè),不如說它是合作精神和毅力的考驗。經(jīng)過這次課程設(shè)計,我不僅學到了很多知識和技能,更重要的是我學會了如何運用所學知識去解決實際問題.附錄:#include<>#include<>#include<>#define N 20#define T (time-8)/2int sum6=0;int computer620=1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
19、1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1;/*該數(shù)組表示假設(shè)某天某人查詢時機房各個時間段機位數(shù)情況*/void Menu(); void Situation();void Book();void Cancel();void SearchWaiting();void detail(int time)
20、;void prione(int i);struct waitlist /*等待列表*/ char number3; char telephonenumber11; waitN;void printone(int i);int main()Menu(); /*當前狀態(tài)函數(shù)*/void Menu() /*主界面*/int n,w;do puts("tt*機房機位預(yù)約系統(tǒng)*n"); puts("tt*菜單*n"); puts("ttt 1.查詢某時間段機位狀態(tài)"); /*查詢某時間段機位狀態(tài)*/ puts("ttt 2.預(yù)定空機
21、位"); /*預(yù)定空機位*/ puts("ttt 3.取消預(yù)訂"); /*取消預(yù)訂*/ puts("ttt 4.查詢等待信息"); /*查詢等待信息*/ puts("ttt 5.退出"); /*退出*/ puts("tt*n"); printf("選擇菜單號(1-5):"); scanf("%d",&n); if(n<1|n>5) w=1;getchar(); else w=0;while(w=1);switch(n)case 1:Situati
22、on();break;case 2:Book();break; case 3:Cancel();break;case 4:SearchWaiting();break;case 5:exit(0);break;getch();/*時間查詢*/void Situation()int time;printf("輸在 (8-20)范圍內(nèi)的時間:");scanf("%d",&time);if(time<8|time>20)printf("t時間輸入錯誤!n");printf("輸入在 (8-20)范圍內(nèi)的時間:&q
23、uot;);scanf("%d",&time); detail(time); /*函數(shù)調(diào)用*/getchar();Menu();/*預(yù)定函數(shù)*/void Book()int time,i=0,x,y;FILE *fp; char c; printf("在(8-20)時間范圍內(nèi)輸入你想要預(yù)定的時間:"); scanf("%d",&time); if(time<8|time>20) printf("t時間輸入錯誤!n"); printf("t在(8-20)時間范圍內(nèi)輸入你想要預(yù)定的
24、時間:"); scanf("%d",&time); detail(time); /*函數(shù)調(diào)用*/if(sumT>0) if(fp=fopen("","a")=NULL) printf("n無法打開文件!n"); exit(0); printf("nt請輸入你想要預(yù)定的機號,并且留下你的電話號碼!:n"); scanf("%s %s",waiti.number,waiti.telephonenumber);for(i=0;i<1;i+) fwrit
25、e(&waiti,sizeof(struct waitlist),1,fp); fclose(fp);/*向文本文檔添加一個結(jié)構(gòu)體單元*/printf("t再次輸入你想要預(yù)定的時間!n");scanf("%d",&x);/*sumT-; / *預(yù)定后該時間段空機位數(shù)減1*/*computerTx=1; / *預(yù)定后該機狀態(tài)變?yōu)?*/printf("t預(yù)訂成功!n");getchar();Menu();elseprintf("這是在這個時間段內(nèi)未預(yù)定的電腦!n");for(i=T+1;i<6;i
26、+) time=9+2*i;detail(time); /*函數(shù)調(diào)用*/if(sumT>0)printf("t最近的空閑時間是 %d,%dn",2*i+8,2*i+10);break;printf("t你想要預(yù)定嗎:y/n");scanf("%s",&c);getchar();if(c='Y'|c='y') if(fp=fopen("","r")=NULL) printf("n無法打開文件!n"); exit(0); else p
27、rintf("waitlist: number telephonenumbern"); for(i=0;!feof(fp);i+) fscanf(fp,"%s %s",&waiti.number,&waiti.telephonenumber); fclose(fp); for(i=0;i<10;i+) prione(i); printf("nt請輸入您想預(yù)定的機號并留下您的聯(lián)系方式!:n"); if(fp=fopen("","a")=NULL) printf("n
28、無法打開文件!n"); exit(0); scanf("%s %s",waiti.number,waiti.telephonenumber); for(i=0;i<1;i+) fwrite(&waiti,sizeof(struct waitlist),1,fp); fclose(fp); /*若等待,就用文件的方式列出當時的等待列表并提示輸入你的等待序號和聯(lián)系方式*/printf("再次輸入電腦的序號!n");scanf("%d",&y);sumT-; computerTy=1; printf(&quo
29、t;t好了,請等待我們的電話!n"); Menu(); else Menu();/*取消預(yù)訂*/void Cancel()int time,number;printf("在(8-20)時間范圍內(nèi)輸入你已經(jīng)預(yù)定的時間:");scanf("%d",&time); if(time<8|time>20) printf("t輸入時間錯誤!n"); printf("t在(8-20)時間范圍內(nèi)輸入你已經(jīng)預(yù)定的時間:"); scanf("%d",&time); elseprintf("t輸入你預(yù)定的機號 :");scanf("%d",&number);detail(time); /* sumT+; / *預(yù)定后該時間段空機位數(shù)加1*/*comput
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公環(huán)境的網(wǎng)絡(luò)安全培訓(xùn)
- 未來學習模式基于網(wǎng)絡(luò)教育平臺的思考
- 現(xiàn)代辦公空間中的綠色環(huán)保用品設(shè)計思考
- 2024年四年級品德與社會上冊 第三單元 生活在這里真好 第11課《我家來了新鄰居》說課稿 粵教版001
- 2024-2025學年高中物理 第十二章 機械波 4 波的衍射和干涉說課稿4 新人教版選修3-4001
- Module 1 Unit 1 She's a nice teacher(說課稿)-2023-2024學年外研版(三起)英語四年級下冊
- 2023九年級化學上冊 第一章 大家都來學化學1.2 化學實驗室之旅說課稿(新版)粵教版001
- 2025農(nóng)村養(yǎng)殖場場地租地合同
- 2025國際專利技術(shù)許可合同模板版
- Unit 5 Nature and Culture(說課稿)2023-2024學年人教新起點版英語六年級下冊
- 電動汽車用驅(qū)動電機系統(tǒng)-編制說明
- 江蘇卷2024年高三3月份模擬考試化學試題含解析
- (正式版)JTT 1497-2024 公路橋梁塔柱施工平臺及通道安全技術(shù)要求
- 2024年四川省成都市新都區(qū)中考英語一診試卷(含解析)
- 醫(yī)療器械物價收費申請流程
- 招聘專員轉(zhuǎn)正述職報告
- “一帶一路”背景下的西安市文化旅游外宣翻譯研究-基于生態(tài)翻譯學理論
- 2024年江蘇省昆山市六校中考聯(lián)考(一模)化學試題
- 大學生文學常識知識競賽考試題庫500題(含答案)
- 國家電網(wǎng)智能化規(guī)劃總報告
- 邢臺市橋西區(qū)2024年事業(yè)單位考試《公共基礎(chǔ)知識》全真模擬試題含解析
評論
0/150
提交評論