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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論