C語言-機(jī)房機(jī)位預(yù)約程序_第1頁
C語言-機(jī)房機(jī)位預(yù)約程序_第2頁
C語言-機(jī)房機(jī)位預(yù)約程序_第3頁
C語言-機(jī)房機(jī)位預(yù)約程序_第4頁
C語言-機(jī)房機(jī)位預(yù)約程序_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C語言課程設(shè)計(jì) 題 目:機(jī)房機(jī)位預(yù)約 設(shè) 計(jì) 者:費(fèi)小麗 專 業(yè):資源勘查工程 班 號(hào):07 指導(dǎo)老師:童恒建 所屬院系:資源學(xué)院 2011年1月6日1題目與要求 1.1 題目:20臺(tái)機(jī)器,從早8點(diǎn)到晚8點(diǎn),每?jī)尚r(shí)一個(gè)時(shí)間段。1.2 本系統(tǒng)涉及的知識(shí)點(diǎn):數(shù)組,函數(shù),文件,宏定義,循環(huán),結(jié)構(gòu)體,選擇結(jié)構(gòu)。1.3 功能要求:(1)查詢。根據(jù)輸入時(shí)間輸出機(jī)位信息。(2)機(jī)位預(yù)定。根據(jù)輸入的時(shí)間段查詢是否有空機(jī)位,若有則預(yù)約,若無則提供最近空機(jī)時(shí)間段。另外,若用戶要求在非空時(shí)間上機(jī),則將用戶信息插入該時(shí)間段的等待列表。(3)退出預(yù)定。根據(jù)輸入的時(shí)間撤銷該時(shí)間的預(yù)定。(4)查詢是否有等待信息。若有則按順序顯示聯(lián)系方式,若無則顯示提示信息。2功能實(shí)現(xiàn)設(shè)計(jì) 主菜單設(shè)計(jì)如下:1查詢機(jī)位信息. 2機(jī)位預(yù)定. 3退出預(yù)定. 4查詢等待信息. 3模塊流程圖1 主函數(shù)流程圖:2 查詢機(jī)位信息流程圖:3 機(jī)位預(yù)定流程圖:4 機(jī)位退訂流程圖:5 查詢等待信息流程圖5 程序代碼設(shè)計(jì) 1)主函數(shù)主函數(shù)的設(shè)計(jì)簡(jiǎn)潔,只提供加輸入,排序,統(tǒng)計(jì)和顯示等函數(shù)的調(diào)用和加載功能。其中各功能模塊用菜單方式選擇。并將main()函數(shù)體內(nèi)的界面選擇部分部分語句單獨(dú)抽出來做一個(gè)獨(dú)立的函數(shù),目的在于系統(tǒng)執(zhí)行完每部分功能模塊后能更方便返回到系統(tǒng)界面。menu()函數(shù)從主函數(shù)中獨(dú)立出來后,表面的主函數(shù)只是起一個(gè)程序開始的作用,其主要功能被獨(dú)立出來的被調(diào)用的menu()函數(shù)所取代。menu()函數(shù)主要完成菜單的輸出和被選擇的項(xiàng)目的輸入和相應(yīng)執(zhí)行函數(shù)的調(diào)用。 程序#include stdio.h#include stdlib.hvoid ReadInformation();void Search();void ComputerPrecontract();void OutPrecontract();void SearchWait();void Menu();int a206;void main()ReadInformation(); Menu();void Menu()int i;printf(*歡迎進(jìn)入機(jī)房機(jī)位預(yù)約模擬系統(tǒng)!*n); printf(* *n);printf(* 1 查詢機(jī)位信息. *n);printf(* 2 機(jī)位預(yù)定. *n);printf(* 3 退出預(yù)定. *n);printf(* 4 查詢等待信息. *n);printf(* 5 退出系統(tǒng). *n); printf(* *n);printf(*n);printf(請(qǐng)輸入功能模塊(15): bb); scanf(%d,&i);switch(i) case 1: Search();break;case 2: ComputerPrecontract();break; case 3: OutPrecontract();break;case 4: SearchWait();break;case 5: exit(0); 2)子函數(shù)在各個(gè)子函數(shù)中完成各要求,并成功后將返回到menu()函數(shù)繼續(xù)選擇并執(zhí)行其他操作。主要運(yùn)用結(jié)構(gòu)體和for語句來完成。子函數(shù)1:讀取機(jī)位信息輸入時(shí)間,則顯示在該時(shí)段的空機(jī)位程序void ReadInformation()char ch5;FILE*fp;if (fp=fopen(computer information.dat,r)=NULL)printf(cannot open file!n);return;for (int i=0;i20;i+)for (int j=0;j6;j+)fscanf(fp,%s,&ch);aij=atoi(ch);fclose(fp);子函數(shù)2:機(jī)位查詢信息輸入時(shí)間,則顯示在該時(shí)段的空機(jī)位程序void Search()system(cls);int m=0,n=0;int i,j,t; loop:printf(請(qǐng)輸入查詢的時(shí)間(820): bbb);scanf(%d,&t); if (t=20) printf(輸入時(shí)間信息錯(cuò)誤!n); goto loop; j=int(t-8)/2);printf(此時(shí)段的空閑機(jī)位:);for (i=0;i=1)printf(%d ,i+1);elsen+;if(n=20)printf(n此時(shí)間沒有空閑的機(jī)位!n);printf(n);Menu();子函數(shù)3:機(jī)位預(yù)訂輸入時(shí)間,則顯示在該時(shí)間段的空機(jī)位,并預(yù)定程序void ComputerPrecontract()system(cls);int i,j,t; loop:printf(請(qǐng)輸入機(jī)位預(yù)定的時(shí)間(820): bbb);scanf(%d,&t);if (t=20) printf(輸入時(shí)間信息錯(cuò)誤!n); goto loop;j=int(t-8)/2);for (i=0;i20;i+)if(aij=0)aij=1;printf(%d號(hào)機(jī)位已經(jīng)為你預(yù)定!n,i+1);FILE*fp;if (fp=fopen(computer information.dat,w)=NULL)printf(cannot open file!n);return;for (int i=0;i20;i+)for (int j=0;j6;j+)fprintf(fp,%d ,aij);fprintf(fp,n); fclose(fp);break;if (i=19)printf(此時(shí)段機(jī)位已滿!n);Menu();子函數(shù)4:退出預(yù)定輸入幾號(hào)和時(shí)間,則顯示退出預(yù)定程序void OutPrecontract()system(cls);int n,t;printf(請(qǐng)輸入退訂機(jī)位號(hào)(120): bbb);scanf(%d,&n); loop:printf(請(qǐng)輸入退訂時(shí)間(820): bbb);scanf(%d,&t);if (t=20) printf(輸入時(shí)間信息錯(cuò)誤!n); goto loop;t=int(t-8)/2);if (an-1t=1)an-1t=0;FILE*fp;if (fp=fopen(computer information.dat,w)=NULL)printf(cannot open file!n);return;for (int i=0;i20;i+)for (int j=0;j6;j+)fprintf(fp,%d ,aij);fprintf(fp,n);printf(%d號(hào)機(jī)位已經(jīng)為你退訂!n,n);fclose(fp);else printf(輸入信息錯(cuò)誤!n);Menu();子函數(shù)5:查詢是否有等待信息以列表形式顯示是否有等待信息程序void SearchWait()system(cls);int i,j;ReadInformation();printf(機(jī)位信息n);printf(時(shí)段 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20n);for (i=0;i6;i+)printf(%2d%2d ,i*2+8,i*2+10);for (j=0;j 主菜單2 查詢機(jī)位信息3 機(jī)位預(yù)定4 退出預(yù)定 5 查詢是否有等待信息 7.程序設(shè)計(jì)總結(jié)在這幾天的C語言編程實(shí)習(xí)中,我不僅在實(shí)習(xí)的過程中鞏固了以前學(xué)習(xí)的C語言知識(shí),還對(duì)計(jì)算機(jī)編程有了更多的了解。剛開始我還對(duì)用C語言編程并不是了解,只是按照老師布置的任務(wù)一邊編程一邊把以前學(xué)過的C語言知識(shí)重新回憶起來,特別是對(duì)算法的復(fù)習(xí),重新體驗(yàn)了一下考等級(jí)考試是的學(xué)習(xí)氣氛。接下來學(xué)習(xí)了C語言編程中各個(gè)模塊的功能程序的編寫,這要求我們對(duì)其功能十分熟悉,能夠有一定閱讀程序的能力。通過那幾天的實(shí)習(xí)我按照實(shí)習(xí)報(bào)告的要求編寫學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)體的基本用法,掌握了一些常見問題的基本算法,以及怎樣對(duì)程序進(jìn)行調(diào)制。接下來幾天的實(shí)習(xí)內(nèi)容是編寫整個(gè)具有特定功能的程序,雖說是按照實(shí)習(xí)報(bào)告上面編好的程序進(jìn)行編寫,但在編程的過程中,特別是在調(diào)試的過程中我學(xué)到了很多東西,比如如何進(jìn)行程序的模塊的編排,如何查找錯(cuò)誤并將其改正,如何運(yùn)行編好的程序,還學(xué)習(xí)了編寫的程序的功能,并且能夠自行編寫某些具有特定功能的模塊程序,我相信這些東西只有在不斷的編程實(shí)習(xí)的過程中才能學(xué)到。在編寫程序的過程中需要我們運(yùn)用之前學(xué)習(xí)的C語言編程知識(shí)根據(jù)功能補(bǔ)充完整其模塊程序。在最后階段自己好像對(duì)C元編程產(chǎn)生了一定興趣,同學(xué)間討論激烈,互相幫助,交流C語言學(xué)習(xí)經(jīng)驗(yàn),老師也在一旁幫助學(xué)生共同解決難題。許多同學(xué)都通過自己的努力順利地完成了老師布置的任務(wù)。為期幾天的實(shí)習(xí)不僅加強(qiáng)了我們對(duì)C語言的認(rèn)識(shí),鞏固我們的C語言知識(shí),還增強(qiáng)了我們學(xué)習(xí)C語言的興趣。除了在實(shí)習(xí)過程中感觸良多,我還在編程過程中收獲頗多,在沒有源程序的情況下,我只能運(yùn)用自己實(shí)習(xí)學(xué)到的知識(shí),從主函數(shù)的流程圖設(shè)計(jì)開始,不斷查找修改模塊的功能,借閱實(shí)習(xí)過程中的程序,加上網(wǎng)絡(luò)資源的幫助,基本完成所設(shè)計(jì)系統(tǒng)的大部分功能,當(dāng)整個(gè)程序基本編完時(shí),我感受到一種成就感。但程序還有許多地方需要調(diào)試,我覺得調(diào)試的難度并不比編寫程序輕松,特別是在調(diào)試的過程中需要充分利用以前學(xué)到的C 語言的各種知識(shí),還很考驗(yàn)自己的耐心意志力,通過修改與嘗試,終于完成了整個(gè)系統(tǒng)程序的編寫。 總之,通過此次C語言實(shí)習(xí)與設(shè)計(jì),我不僅收獲的是知識(shí),還明白做一件事滿懷熱情,還要有耐心,一定要做好的決心,這樣才能夠把一件事做好。在此也感謝老師這段時(shí)間對(duì)于我們的辛勤指導(dǎo)與幫助。8.參考文獻(xiàn) 【1】譚浩強(qiáng),C程序設(shè)計(jì)(第三版),北京:清華大學(xué)出版社,2005.1 【2】張冬梅,劉遠(yuǎn)興,王媛妮,陳晶主編的C語言課程設(shè)計(jì)與學(xué)習(xí)指導(dǎo)書,中國(guó)鐵道出版社,2008.7附錄:1 源程序#include stdio.h#include stdlib.hvoid ReadInformation();void Search();void ComputerPrecontract();void OutPrecontract();void SearchWait();void Menu();int a206;void main()ReadInformation(); Menu();void ReadInformation()char ch5;FILE*fp;if (fp=fopen(computer information.dat,r)=NULL)printf(cannot open file!n);return;for (int i=0;i20;i+)for (int j=0;j6;j+)fscanf(fp,%s,&ch);aij=atoi(ch);fclose(fp);void Search()system(cls);int m=0,n=0;int i,j,t; loop:printf(請(qǐng)輸入查詢的時(shí)間(820): bbb);scanf(%d,&t); if (t=20) printf(輸入時(shí)間信息錯(cuò)誤!n); goto loop; j=int(t-8)/2);printf(此時(shí)段的空閑機(jī)位:);for (i=0;i=1)printf(%d ,i+1);elsen+;if(n=20)printf(n此時(shí)間沒有空閑的機(jī)位!n);printf(n);Menu();void ComputerPrecontract()system(cls);int i,j,t; loop:printf(請(qǐng)輸入機(jī)位預(yù)定的時(shí)間(820): bbb);scanf(%d,&t);if (t=20) printf(輸入時(shí)間信息錯(cuò)誤!n); goto loop;j=int(t-8)/2);for (i=0;i20;i+)if(aij=0)aij=1;printf(%d號(hào)機(jī)位已經(jīng)為你預(yù)定!n,i+1);FILE*fp;if (fp=fopen(computer information.dat,w)=NULL)printf(cannot open file!n);return;for (int i=0;i20;i+)for (int j=0;j6;j+)fprintf(fp,%d ,aij);fprintf(fp,n); fclose(fp);break;if (i=19)printf(此時(shí)段機(jī)位已滿!n);Menu();void OutPrecontract()system(cls);int n,t;printf(請(qǐng)輸入退訂機(jī)位號(hào)(120): bbb);scanf(%d,&n); loop:printf(請(qǐng)輸入退訂時(shí)間(820): bbb);scanf(%d,&t);if (t=20) printf(輸入時(shí)間信息錯(cuò)誤!n); goto loop;t=int(t-8)/2);if (an-1t=1)an-1t=0;FILE*fp;if (fp=fopen(computer information.dat,w)=NULL)printf(cannot open file!n);return;for (int i=0;i20;i+)for (int j=0;j6;j+)fprintf(fp,%d ,aij);fprintf(fp,n);printf(%d號(hào)機(jī)位已經(jīng)為你退訂!n,n);fclose(fp);else printf(輸入信息錯(cuò)誤!n);Menu();void SearchWait()system(cls);int i,j;ReadInformation();printf(機(jī)位信息n);printf(時(shí)段 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20n);for (i=0;i6;i+)printf(%2d%2d ,i*2+8,i*2+10);for (j=0;j 查詢機(jī)位信息. *n);printf(* 2 機(jī)位預(yù)定. *n);pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論