版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 第一章 課程設(shè)計目的和要求1</p><p> 1.1 課程設(shè)計目的1</p><p> 1.2 課程設(shè)計要求2</p><p> 第二章 課程設(shè)計任務(wù)內(nèi)容3</p><p> 2.1 課程設(shè)計任務(wù)3</p&g
2、t;<p> 2.2 課程設(shè)計內(nèi)容3</p><p> 2.4 課程設(shè)計開發(fā)環(huán)境和工具3</p><p> 第三章 詳細設(shè)計說明4</p><p> 3.1 系統(tǒng)詳細描述4</p><p> 3.1.1 系統(tǒng)設(shè)計背景4</p><p> 3.1.2 系統(tǒng)設(shè)計詳細信息4</p&
3、gt;<p> 3.2 系統(tǒng)功能描述4</p><p> 3.3 系統(tǒng)流程圖6</p><p> 第四章 軟件測試及使用說明9</p><p> 4.1 系統(tǒng)開發(fā)與運行環(huán)境9</p><p> 4.2 運行及測試結(jié)果10</p><p> 第五章 課程設(shè)計心得體會14</p&
4、gt;<p> 附錄1:參考文獻15</p><p> 附錄2:程序代碼16</p><p> 第一章 課程設(shè)計目的和要求</p><p> 1.1 課程設(shè)計目的</p><p> 這次設(shè)計實驗要求利用C++語言來完成系統(tǒng)的設(shè)計,突出模塊設(shè)計,實現(xiàn)每一個子功能,得有清晰的程序流程圖和數(shù)據(jù)結(jié)構(gòu)的詳細定義,表現(xiàn)此次設(shè)計
5、的目的,再設(shè)計中熟練掌握C++對文件的各種操作。</p><p> 1.2 課程設(shè)計要求</p><p> ?。?)要求用C++語言編程在Visual C++環(huán)境下調(diào)試完成;</p><p><b> </b></p><p> ?。?)要求劃分功能模塊各個功能分別使用函數(shù)來完成;</p>&
6、lt;p><b> </b></p><p> (3)源代碼程序要求必要的注釋.</p><p> 第二章 課程設(shè)計任務(wù)內(nèi)容</p><p> 2.1 課程設(shè)計任務(wù)</p><p> ?。?)、輸入功能:輸入30個學(xué)生的學(xué)號、班級、姓名、上機起始時間。</p><p> ?。?
7、)、計算功能:計算每個下機學(xué)生的上機費用,每小時1元。</p><p> ?。ㄉ蠙C費用=上機時間*1.0h,不足一小時按一小時計算)</p><p> ?。?)、查詢功能:按條件(班級、學(xué)號、姓名)顯示學(xué)生上機時間。</p><p> ?。?)、機器使用情況的顯示(顯示方式不限但要一目了然)</p><p> 2.2 課程設(shè)計內(nèi)容</
8、p><p> 每一次程序執(zhí)行的過程中,先輸出主菜單,主菜單中有幾個平行的功能選項,但須需要在執(zhí)行完1后才可以有意義的執(zhí)行其后的功能選項,完成各自的功能。</p><p> ?。?)主函數(shù)void main()模塊</p><p> 由switch函數(shù)決定各個模塊的進入,while函數(shù)決定輸入的數(shù)字是符合要求的,若符合要求,則進入該模塊執(zhí)行功能,否則重新返回主菜單,再
9、次選擇要進入的模塊。</p><p> (2)學(xué)生數(shù)據(jù)的輸入void Intital()模塊</p><p> 由指針確定該學(xué)生所使用的計算機,然后由for函數(shù)依次輸入,為一次性輸入學(xué)生的所有信息。</p><p> ?。?)付費模塊void charge()</p><p> 先輸入當前的時間,而后會要求學(xué)生輸入學(xué)號,輸入該生的學(xué)號即
10、可,計算機會通過順序查找法查找是否有該學(xué)生在上機,若有,則通過公式計算上機時間,上機費用,并輸出。</p><p> (4)查詢學(xué)生上機模塊void query()</p><p> 查詢每個學(xué)生的上機情況,可以根據(jù)該生的學(xué)號,姓名,班級查詢,具體通過switch函數(shù)來實現(xiàn),由if函數(shù)決定進入的模塊是否符合要求,若符合要求,則進入該模塊執(zhí)行功能,若不,則要求重新選擇要通過的方式。<
11、;/p><p> ?。?)輸出所有機器的使用情況void show()</p><p> 由于在之前已由指針變量確定某生使用的計算機,并用@予以標記,在該步中用for函數(shù)予以分別輸出。</p><p> 2.4 課程設(shè)計開發(fā)環(huán)境和工具</p><p> 1.系統(tǒng)平臺:WINDOWS環(huán)境</p><p> 2.程序設(shè)
12、計語言:C++</p><p> 3.開發(fā)工具:VC++6.0</p><p><b> 詳細設(shè)計說明</b></p><p> 3.1 系統(tǒng)詳細描述</p><p> 3.1.1 系統(tǒng)設(shè)計背景</p><p> 在學(xué)習(xí)和了解操作系統(tǒng)課程之后,需要進一步對其功能進行深入了解,以課堂所學(xué)的
13、理論知識,去設(shè)計機房收費系統(tǒng)。</p><p> 3.1.2 系統(tǒng)設(shè)計詳細信息</p><p> 該系統(tǒng)主要通過對機房的機器的收費管理來體現(xiàn)操作系統(tǒng)間的聯(lián)系和各個子功能的獨立表達,輸入功能、計算功能、查詢功能、機器使用情況的顯示。</p><p> 3.2 系統(tǒng)功能描述</p><p> 根據(jù)課程設(shè)計題目描述,該系統(tǒng)主要分為四個功能模
14、,即塊輸入功能、計算功能、查詢功能、機器使用情況的顯示,通過四個模塊實現(xiàn)機房收費管理。如圖3-2-1</p><p> 圖3-1 機房收費管理系統(tǒng)</p><p><b> 3.3 系統(tǒng)流程圖</b></p><p> 輸入功能:輸入30個學(xué)生的學(xué)號、班級、姓名、上機起始時間。如圖3-1</p><p> 圖3-
15、2 輸入功能</p><p> 這里可以輸入學(xué)生的信息比如:學(xué)號,班級,姓名,上機時間。如圖3-2</p><p> 計算功能:計算每個下機學(xué)生的上機費用,每小時1元。</p><p> (上機費用=上機時間*1.0h,不足一小時按一小時計算)如圖3-3</p><p> 圖3-3 計算功能 </p><p
16、> 此功能為計費功能,每小時1元不足一小時按一小時計費。(其中使用取整函數(shù)“%”)如圖3-3</p><p> 查詢功能:按條件(班級、學(xué)號、姓名)顯示學(xué)生上機時間。如圖3-4</p><p> 圖3-4 查詢功能 </p><p> 此功能為查詢功能,可以根據(jù)學(xué)生信息查詢該生上機時間。如圖3-4</p><p> 機器使用情
17、況的顯示。(顯示方式不限但要一目了然)如圖3-5</p><p> 圖3-5 機器使用情況顯示</p><p> 此功能為機器使用情況顯示功能,可以查詢機器的使用情況。如圖3-5</p><p><b> 軟件測試及使用說明</b></p><p> 4.1 系統(tǒng)開發(fā)與運行環(huán)境</p><p&
18、gt; 代碼實現(xiàn):C++語言程序</p><p> 開發(fā)工具:VC++6.0</p><p> WEB服務(wù)器:IIS4.0及以上</p><p> 服務(wù)器端:WinNT、Win2000 Server、Win2003 Server</p><p> 數(shù)據(jù)庫: Microsoft SQL Server 2000</p>&
19、lt;p> 4.2 運行及測試結(jié)果</p><p> 1. 進入輸入功能如圖4-1所示:</p><p> 圖4-1 進入輸入功能</p><p> 在這里輸入使用的主菜單,如1。然后輸入學(xué)生信息,如,學(xué)號110113,班級111,姓名,如weizheng,上機時間,如,1226(格式HHMM如13:30寫為1330)如圖4-1所示</p>
20、<p> 2. 進入計算功能如圖4-2所示:</p><p> 圖4-2進入計算功能</p><p> 輸入菜單號2開啟,此功能負責(zé)內(nèi)部計費,如該同學(xué)上機5小時,應(yīng)收費5元(上機費用=上機時間*1.0h,不足一小時按一小時計算)如圖4-2所示</p><p> 3. 進入查詢功能如圖4-3所示:</p><p> 圖4
21、-3進入計算功能</p><p> 輸入菜單號3開啟,此功能主要負責(zé)上級查詢,可以按學(xué)號,班級,姓名查詢學(xué)生上機時間。如圖4-3所示</p><p> 4. 進入機器使用情況顯示功能如圖4-4所示:</p><p> 圖4-4進入機器使用情況顯示功能</p><p> 輸入菜單號4開啟,此功能主要負責(zé)機房機器使用情況,空閑表示“-”,
22、使用表示“@”。如圖4-4所示</p><p><b> 課程設(shè)計心得體會</b></p><p> 通過這次的c++程序設(shè)計,我受益良多,本來以為是一個簡單的C語言設(shè)計,但是在實際操作中我發(fā)現(xiàn)其中的難題那不是一點點而已,我花了整整2天時間去設(shè)計,但是無果,后來在同學(xué)的幫助下列出了設(shè)計框架和函數(shù)運用,這次設(shè)計我覺得很有難度,可能是我自己學(xué)習(xí)的不好,但是在這次作業(yè)中
23、也是學(xué)習(xí)到了很多以前不知道的東西,在這次設(shè)計編程中我發(fā)現(xiàn)C語言的編程是一件需要人去用心,用腦,用毅力做的,因為編程中有很多問題,而且問題都是很細小的縫隙中,比如什么“;”、“‘’”、“()”、“{}”很多很多,有時候就忘記了,返回來改的時候又要有很大的毅力,老師別笑話我,我第一次編譯完80多行有200幾個錯誤,我不知道是我裝的C++有問題還是怎么地,我當時備受打擊,差點就放棄做這個作業(yè)了,但是過了幾天,我覺得我做的編程的確漏洞百出,我有
24、在原來的框架上改動了很多東西,翻閱了大一學(xué)過的《C++程序設(shè)計》和《c語言編程設(shè)計》書,發(fā)現(xiàn)我最大的問題就是“不按套路出牌”,就像是“中國式英語”一樣,自己想到了什么就寫個什么到最后,自己連自己都不知道在寫什么。</p><p> 后來在同學(xué)的幫助下,應(yīng)該是師傅領(lǐng)進門修行還得靠自己,因為大家都要做自己的東西都很忙,不管怎么樣都感謝他們在百忙之中還來幫我,他們都是先設(shè)計整個程序的總體運行圖,就好比是寫一個作文要先
25、寫出提綱一樣,有了這個骨架,接下來應(yīng)該給他血肉,然后再用標注來給他生動的面容,接下來就該在C++中運行了,當然運行不是一般的簡單,因為老是有錯誤,老運行不出來,這個得靠毅力,慢慢的一步一步改,改完繼續(xù)發(fā)現(xiàn)問題再改動,就這樣,反反復(fù)復(fù)得好長時間才行,最后完成后覺得很高興。</p><p> 在這次C++語言報告中我學(xué)到了很多以前沒有學(xué)到的東西,匪夷匪淺,在接下來的學(xué)習(xí)中我要補缺不足,發(fā)現(xiàn)自己的問題更好的學(xué)習(xí)這門課
26、程。</p><p><b> 附錄1:參考文獻</b></p><p> [1] 譚浩強著.C程序設(shè)計,清華大學(xué)出版社,1999年12月第2版</p><p> [2] 譚浩強著.C++程序設(shè)計實踐指導(dǎo),清華大學(xué)出版社,2005年7月底1版</p><p> [3]【美】D.C.Malik:C++編程——從問題
27、分析到程序設(shè)計,電子工業(yè)出版社,2003年7月第1版</p><p><b> 附錄2:程序代碼</b></p><p> #include <iostream.h></p><p> #include <stdlib.h></p><p> #include <string.h&g
28、t;</p><p> #define M 30//共有多少個學(xué)生需要輸入</p><p> void initial();//定義完成各模塊所需要的函數(shù)</p><p> void charge();</p><p> void query();</p><p> void show();</p&g
29、t;<p> typedef struct student//定義結(jié)構(gòu)體,需要輸入學(xué)生信息中所包含的幾項</p><p><b> {</b></p><p><b> int no;</b></p><p> char class_[30];</p><p> char n
30、ame[20];</p><p> int st_time;</p><p> char num[3];</p><p><b> }STU;</b></p><p> STU ST[M];</p><p> char mx[10][10];</p><p>&l
31、t;b> int time;</b></p><p> void CaiDan()//主菜單模塊,顯示主菜單的內(nèi)容</p><p><b> {</b></p><p> cout<<"--------------------------------------------------------
32、-----\n";</p><p> cout<<" ******機房收費管理系統(tǒng)******\n\n";</p><p> cout<<"1.請輸入數(shù)據(jù)\n";</p><p> cout<<"2. 上機費用\n";&l
33、t;/p><p> cout<<"3. 查詢學(xué)生上機情況\n";</p><p> cout<<"4. 機器使用使用與否\n";</p><p> cout<<"0. 退出\n";</p><p> cout<<"提示
34、:程序初次使用必須在1中輸入數(shù)據(jù)?。?!\n";</p><p> cout<<"-------------------------------------------------------------\n";</p><p><b> }</b></p><p> void main()//主函
35、數(shù),從主函數(shù)中分別調(diào)入各從函數(shù),執(zhí)行各自的模塊</p><p><b> {</b></p><p><b> int n;</b></p><p><b> while(1)</b></p><p><b> {</b></p>&
36、lt;p><b> CaiDan();</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> cout<<"輸入菜單號進入:";</p><p><b> c
37、in>>n;</b></p><p> if(n>=0&&n<=4)</p><p><b> break;</b></p><p> cout<<"請輸入0--4以內(nèi)的整數(shù)!?。n";</p><p><b> }&
38、lt;/b></p><p><b> switch(n)</b></p><p><b> {</b></p><p> case 1:initial();continue;</p><p> case 2:charge();continue;</p><p&g
39、t; case 3:query();continue;</p><p> case 4:show();continue;</p><p> case 0:exit(0);//c語言中正常退出模塊</p><p><b> }</b></p><p> system("pause");/
40、/直接調(diào)出程序,system為清屏程序</p><p><b> }</b></p><p><b> }</b></p><p> void initial()//數(shù)據(jù)的初始化模塊,在每次啟動程序后必須鍵入所需數(shù)據(jù)</p><p><b> {</b></p&g
41、t;<p><b> int i;</b></p><p> char *p=&mx[0][0];</p><p> cout<<"\n-------------------------------------------\n";</p><p> cout<<"
42、; ******數(shù)據(jù)初始化*****\n";</p><p> cout<<"-------------------------------------------\n";</p><p> for(i=0;i<100;i++)</p><p> *(p+i)='-';<
43、;/p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> cout<<"\n請輸入第"<<i+1<<"個學(xué)生的信息:";</p><p> cout<<"學(xué)號:&q
44、uot;;</p><p> cin>>ST[i].no;</p><p> cout<<"班級:";</p><p> cin>>ST[i].class_;</p><p> cout<<"姓名:";</p><p>
45、cin>>ST[i].name;</p><p> cout<<"上機時間(時間格式hhmm,如13:30應(yīng)寫成1330):";</p><p> cin>>ST[i].st_time;</p><p> cout<<"機器編號AB(A表示A到J的大寫字母;B表示0到9的數(shù)字):&q
46、uot;;</p><p> cin>>ST[i].num;</p><p> mx[ST[i].num[1]-48][ST[i].num[0]-65]='@';</p><p><b> }</b></p><p><b> }</b></p>&
47、lt;p> void charge()//收費函數(shù),看某個學(xué)生的上機費用,在輸入時間,該學(xué)生學(xué)號后執(zhí)行</p><p><b> {</b></p><p> int xia,i;</p><p> double a,b,c;</p><p> cout<<"\n----------
48、---------------------------------\n";</p><p> cout<<" ******上機計費*****\n";</p><p> cout<<"-------------------------------------------\n";</p&g
49、t;<p> cout<<"請輸入當前時間(時間格式hhmm,如13:30應(yīng)寫成1330):";</p><p> cin>>time;</p><p> a=time/100+time%100/60;</p><p> cout<<"請輸入下機學(xué)生學(xué)號:";</
50、p><p><b> cin>>xia;</b></p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> if(xia==ST[i].no)</p><p><b> break;</
51、b></p><p><b> }</b></p><p><b> if(i>=M)</b></p><p><b> {</b></p><p> cout<<"該學(xué)生沒有在機房上機?。。n";</p>&
52、lt;p><b> return;</b></p><p><b> }</b></p><p> b=ST[i].st_time/100+ST[i].st_time%100/60;</p><p><b> c=(a-b);</b></p><p> cout
53、<<ST[i].name<<"班級"<<ST[i].class_<<"學(xué)號"<<ST[i].no<<"共上機"<<a-b<<"小時,應(yīng)付上機費"<<c<<"元!";</p><p> (int)
54、 c<c?(int )c+1:(int) c;</p><p><b> }</b></p><p> void query()//查詢每個學(xué)生的上機情況,可以根據(jù)該生的學(xué)號,姓名,班級查詢</p><p><b> {</b></p><p> int n,h,i,flag=1;&l
55、t;/p><p> char s[30];</p><p> cout<<"\n-------------------------------------------\n";</p><p> cout<<" ******上機查詢*****\n\n";</p>&
56、lt;p> cout<<"1. 按學(xué)號查詢\n";</p><p> cout<<"2. 按班級查詢\n";</p><p> cout<<"3. 按姓名查詢\n";</p><p> cout<<"0. 返回\n";<
57、/p><p> cout<<"-------------------------------------------\n";</p><p><b> while(1)</b></p><p><b> {</b></p><p> cout<<&qu
58、ot;請輸入查詢方式:";</p><p><b> cin>>n;</b></p><p> if(n>=0&&n<=3)</p><p><b> break;</b></p><p> cout<<"輸入數(shù)據(jù)有誤,
59、請輸入0--3以內(nèi)的整數(shù)?。?!\n";</p><p><b> }</b></p><p> switch(n)//選擇用不同的方式來查詢</p><p><b> {</b></p><p><b> case 1:</b></p><
60、p><b> {</b></p><p> cout<<"請輸入學(xué)號:";</p><p><b> cin>>h; </b></p><p> for(i=0;i<M;i++)</p><p><b> {</b&g
61、t;</p><p> if(h==ST[i].no)</p><p><b> break;</b></p><p><b> }</b></p><p><b> if(i>=M)</b></p><p><b> {<
62、;/b></p><p> cout<<"該學(xué)生沒有在機房上機?。?!\n";</p><p><b> break;</b></p><p><b> }</b></p><p> cout<<ST[i].name<<"
63、班級"<<ST[i].class_<<"學(xué)號"<<ST[i].no<<"的上機時間"<<ST[i].st_time/100<<'.'<<ST[i].st_time%100;</p><p><b> }break;</b></p>
64、<p> case 2://該模塊可以輸出多個學(xué)生</p><p><b> {</b></p><p> cout<<"請輸入班級:";</p><p><b> cin>>s; </b></p><p> for(i=0;i&l
65、t;M;i++)</p><p><b> {</b></p><p> if(strcmp(s,ST[i].class_)==0)</p><p><b> {</b></p><p> cout<<ST[i].name<<"班級"<<
66、;ST[i].class_<<"學(xué)號"<<ST[i].no<<"的上機時間"<<ST[i].st_time/100<<'.'<<ST[i].st_time%100;</p><p><b> flag=0;</b></p><p><
67、b> }</b></p><p><b> }</b></p><p><b> if(flag)</b></p><p> cout<<"該班級沒有學(xué)生在機房上機?。。n";</p><p><b> }break;</
68、b></p><p><b> case 3:</b></p><p><b> {</b></p><p> cout<<"請輸入姓名:";</p><p><b> cin>>s; </b></p>&
69、lt;p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> if(strcmp(s,ST[i].name)==0)</p><p><b> {</b></p><p> cout<<ST[i].name<<&q
70、uot;班級"<<ST[i].class_<<"學(xué)號"<<ST[i].no<<"的上機時間"<<ST[i].st_time/100<<'.'<<ST[i].st_time%100;</p><p><b> flag=0;</b></p
71、><p><b> }</b></p><p><b> }</b></p><p><b> if(flag)</b></p><p> cout<<"該學(xué)生沒有在機房上機?。?!\n";</p><p><b&
72、gt; }break;</b></p><p> case 0:return;</p><p><b> }</b></p><p><b> }</b></p><p> void show()//輸出所有機器的使用情況</p><p><b
73、> {</b></p><p><b> int i,j;</b></p><p> cout<<"\n-------------------------------------------\n";</p><p> cout<<" *****
74、*機器顯示*****\n";</p><p> cout<<" 本機房共有100臺機器\n";</p><p> cout<<"-------------------------------------------\n\n";</p><p>
75、cout<<" 提示:\'-\'表示機器空閑;\'@\'表示機器正在被使用\n";</p><p> cout<<" ";</p><p> for(i=0;i<10;i++)</p><p> cout<<char(65+i);</p&
76、gt;<p> cout<<"\n";</p><p> for(i=0;i<10;i++)</p><p><b> {</b></p><p><b> cout<<i;</b></p><p> for(j=0;j<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機房收費管理系統(tǒng)課程設(shè)計
- (c語言)機房收費管理系統(tǒng)課程設(shè)計
- (c語言)機房收費管理系統(tǒng)課程設(shè)計
- (c語言)機房收費管理系統(tǒng)課程設(shè)計
- 機房預(yù)約系統(tǒng)課程設(shè)計報告
- 電信機房課程設(shè)計
- 制冷機房課程設(shè)計--冷凍機房設(shè)計
- c語言課程設(shè)計報告——機房管理系統(tǒng)
- 計算機機房管理系統(tǒng)課程設(shè)計報告
- c語言課程設(shè)計報告—機房機位預(yù)約模擬系統(tǒng)
- 機房學(xué)生上機管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計報告-高速公路收費系統(tǒng)
- c語言課程設(shè)計報告-高速公路收費系統(tǒng)
- 某自來水公司收費系統(tǒng)-課程設(shè)計報告
- java課程設(shè)計----課程設(shè)計報告
- 高速公路收費系統(tǒng)c語言課程設(shè)計報告
- 冷熱源課程設(shè)計---大樓制冷機房設(shè)計
- fpga課程設(shè)計課程設(shè)計報告
- 大型數(shù)據(jù)庫課程設(shè)計報告——機房管理系統(tǒng)
- 機房監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)課程設(shè)計
評論
0/150
提交評論