版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 高校課程表設(shè)計</b></p><p> 課程設(shè)計的的題目:高校課程表設(shè)計</p><p><b> 功能說明:</b></p><p> 學(xué)生課表建立系統(tǒng)是學(xué)生日常生活中必不可少的實用型小工具,它對于學(xué)生平時的學(xué)習(xí)生活有著相當(dāng)重要的幫助作用。便于操作、顯示精確、短小實用就是它的明顯特點
2、。</p><p> 本次課程設(shè)計目的:通過一個課程表建立系統(tǒng),使學(xué)生的學(xué)業(yè)及其他事物的時間安排更加合理,從而達到提高日常工作、學(xué)習(xí)效率。使學(xué)生掌握一門高級程序設(shè)計語言,了解面向?qū)ο蟪绦蛟O(shè)計的基本概念與方法,進而學(xué)會利用C++語言學(xué)會解決一般應(yīng)用問題,并為后續(xù)的專業(yè)課程奠定程序設(shè)計基礎(chǔ)。</p><p> 系統(tǒng)的基本模塊:根據(jù)系統(tǒng)功能的要求,課程表建立系統(tǒng)可以分為課程信息的輸入,課程表
3、的處理及建立等模塊。通過分析可以知道該軟件主要有以下功能模塊:</p><p><b> 學(xué)生課程名稱顯示</b></p><p><b> 總學(xué)周時間顯示</b></p><p><b> 教師顯示</b></p><p><b> 地點顯示</b&g
4、t;</p><p><b> 星期顯示</b></p><p><b> 一天中具體時間顯示</b></p><p> 其中本次課程設(shè)計實現(xiàn)的檔案模塊又分為如下子模塊:</p><p> 登陸界面:主要是增加系統(tǒng)的人性化,使用戶舒心</p><p> 信息錄入:主
5、要是將課程相關(guān)信息錄入</p><p><b> 信息處理</b></p><p> 顯示項目:對學(xué)生課程信息進行處理、列表、顯示。</p><p><b> 系統(tǒng)結(jié)構(gòu)圖1如下:</b></p><p><b> 圖1 系統(tǒng)結(jié)構(gòu)圖</b></p><
6、p> 類的.設(shè)計:各類的具體說明及描述</p><p> kecheng類的設(shè)計 </p><p> 為了實現(xiàn)管理系統(tǒng)的各功能首先定義了一個kecheng類,用來定義各種數(shù)據(jù)成員,聲明這些功能函數(shù)。比如:說明為什么要這樣設(shè)計</p><p> setvalue(),showke()等 ,同時聲明一些私有成員。</p><p>
7、 class kecheng</p><p><b> {</b></p><p><b> public:</b></p><p> void setvalue();</p><p> void showke();</p><p> string ming[16]
8、;</p><p> string jiao[16];</p><p> string di[16];</p><p> int qi[16];</p><p> int jie[16];</p><p> int xing[16];</p><p> int tang[16];&l
9、t;/p><p><b> };</b></p><p><b> 關(guān)鍵功能的實現(xiàn)</b></p><p><b> ?。?)信息的輸入</b></p><p> setvalue()函數(shù)用來輸入相關(guān)信息,包括課程名稱、教師名稱、教室地點、課程起始周、課程結(jié)束周、上課的星期、
10、上課的具體時間。輸入一次信息之后可選擇是否繼續(xù)添加新的課程。</p><p><b> 此函數(shù)代碼如下:</b></p><p><b> 1.基本信息輸入</b></p><p> void kecheng::setvalue()</p><p><b> {</b>
11、</p><p> for(int i=0;i<16;i++)</p><p><b> {</b></p><p> cout<<"*請輸入課程名稱(請簡寫 不要超過6個字)"<<endl;</p><p> cin>>ming[i];</p&
12、gt;<p> cout<<"*請輸入課程教師"<<endl;</p><p> cin>>jiao[i];</p><p> cout<<"*請輸入教室"<<endl;</p><p> cin>>di[i];</p>
13、<p> cout<<"*請輸入課程的起始周"<<endl;</p><p> cin>>qi[i];</p><p> 2.如果輸入錯誤,系統(tǒng)會自檢,提示錯誤</p><p> cout<<"*請輸入課程的結(jié)束周"<<endl;</p>
14、;<p> cin>>jie[i];</p><p> if(jie[i]>20)</p><p><b> {</b></p><p> cout<<"輸入錯誤! 請重新輸入"<<endl;</p><p> cin>>
15、jie[i];</p><p><b> } </b></p><p> 3.程序會對一課程多節(jié)課的現(xiàn)象進行處理</p><p> cout<<"*請輸入課程一周有幾天有"<<endl;</p><p><b> int s;</b></p&
16、gt;<p><b> cin>>s;</b></p><p><b> {</b></p><p> for(int u=0;u<s;u++)</p><p><b> {</b></p><p> ming[i+u]=ming[i]
17、;</p><p> jiao[i+u]=jiao[i];</p><p> di[i+u]=di[i];</p><p> qi[i+u]=qi[i];</p><p> jie[i+u]=jie[i];</p><p> cout<<"*請輸入第"<<u+1&l
18、t;<"次課是星期幾"<<endl;</p><p> cin>>xing[i+u];</p><p> if(xing[i+u]>7)</p><p><b> {</b></p><p> cout<<"輸入錯誤! 請重新輸入&q
19、uot;<<endl;</p><p> cin>>xing[i+u];</p><p><b> }</b></p><p> cout<<"*請輸入課程是第幾堂"<<endl;</p><p> cin>>tang[i+u];&l
20、t;/p><p> if(tang[i+u]>5)</p><p><b> {</b></p><p> cout<<"輸入錯誤! 請重新輸入"<<endl;</p><p> cin>>tang[i+u];</p><p>&
21、lt;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> i=i+s;</b></p><p> 4.輸完一門課程之后,系統(tǒng)會自動提示是否進行下一課程的輸入</p>&
22、lt;p> cout<<"*請問是否繼續(xù)下一個課程?(Y/N)"<<endl;</p><p><b> char num;</b></p><p><b> cin>>num;</b></p><p> if(num=='Y'||num
23、=='y') continue;</p><p> else break;</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)信息的處理與輸出</p><p> showke()函數(shù),此部分用來實現(xiàn)課
24、程相關(guān)信息的排序,包括表格的建立與信息的對應(yīng)輸出,此函數(shù)用來顯示課程表的界面,用了一些“——”號建立表格,</p><p> 在程序重的最后,通過for 來實現(xiàn)整個程序的循環(huán),并且使用了switch選擇分支結(jié)構(gòu),使功能更容易實現(xiàn)。</p><p><b> 基本課表表頭的輸出</b></p><p><b> 此函數(shù)代碼如下:&
25、lt;/b></p><p> void kecheng::showke()</p><p><b> {</b></p><p> cout<<" ////////////////////////////////"<<e
26、ndl;</p><p> cout<<" //課 程 表//"<<endl;</p><p> cout<<" ////////////////
27、////////////////"<<endl;</p><p> cout<<"_____________________________________________________________________________________________________"<<endl;</p><p> c
28、out<<" | 一 | 二 | 三 | 四 | 五 | 六 | 日 | "<<endl;</p><p> cout<<"______________________________________________
29、_______________________________________________________"<<endl;</p><p> 對一天時間(1~10節(jié))的格式輸出</p><p><b> 此函數(shù)代碼如下:</b></p><p> for(int i=1;i<6;i++)</p>
30、<p><b> {</b></p><p><b> int l;</b></p><p><b> switch(i)</b></p><p><b> {</b></p><p> case 1:cout<<&qu
31、ot;一(1-2) |";break;</p><p> case 2:cout<<"二(3-4) |";break;</p><p> case 3:cout<<"三(5-6) |";break;</p><p> case 4:cout<<"四(7-8)
32、 |";break;</p><p> case 5:cout<<"五(9-10) |";break;</p><p><b> }</b></p><p> 循環(huán)輸出課程信息,這里采用雙循環(huán),用于控制表格位置的對號輸出及信息的循環(huán)輸出</p><p><b>
33、 此函數(shù)代碼如下:</b></p><p> for(int j=1;j<8;j++)</p><p><b> {</b></p><p><b> l=0;</b></p><p> for(int n=0;n<16;n++)</p><p&g
34、t;<b> {</b></p><p> if(tang[n]==i&&xing[n]==j)</p><p><b> {</b></p><p> cout<<setw(12)<<ming[n]<<"|";</p><
35、p><b> l=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(l==0)</b></p><p><b> {</b></p>
36、<p> cout<<" |";</p><p><b> }</b></p><p><b> }</b></p><p> cout<<endl;</p><p> cout<<"
37、 | ";</p><p> cout<<"_____________________________________________________________________________________________________"<<endl;}}</p><p><b> 軟件測試與調(diào)試<
38、;/b></p><p> 進入本程序如圖2所示</p><p><b> 圖2 登陸界面</b></p><p> 系統(tǒng)會提示輸入相關(guān)信息,課程是星期幾、第幾堂是必須輸入的,輸入一次信息之后可選擇是否繼續(xù)添加新的課程如圖3所示。</p><p><b> 圖3顯示輸入界面</b>&l
39、t;/p><p> 如果選擇不繼續(xù) 系統(tǒng)就會顯示結(jié)果如圖4所示</p><p><b> 圖4顯示輸出界面</b></p><p> 程序在執(zhí)行時經(jīng)常會出現(xiàn)一些違反設(shè)計期望的異常情況(如數(shù)值過大),一些大型的應(yīng)用系統(tǒng)的開發(fā)人員提出,可以在允許的范圍內(nèi)由應(yīng)用程序自身來處理一般性的程序運行錯誤。C++語言異常處理由三個部分構(gòu)成。異常檢測的觸發(fā)、異
40、常檢測的捕獲和異常檢測的處理。在這里我通過添加檢測函數(shù)來確保程序的正常運行</p><p><b> 代碼如下:</b></p><p> if(xing[i+u]>7)</p><p><b> {</b></p><p> cout<<"輸入錯誤! 請重新輸
41、入"<<endl;</p><p> cin>>xing[i+u];</p><p><b> }</b></p><p><b> 結(jié)束語</b></p><p> 經(jīng)過1周多的設(shè)計和開發(fā),學(xué)生課程表建立基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成信息完
42、整輸入以及各類報表的打印。對于數(shù)據(jù)的一致性的問題也通過程序進行了有效的解決?!?#160; 但是由于課程設(shè)計時間較短,所以該系統(tǒng)還有許多不足之處:比如 系統(tǒng)維護功能,還不能讓用戶進行數(shù)據(jù)備份和恢復(fù);用戶界面不夠美觀;這些都有待進一步改善。</p><p><b> 附錄: 要注釋</b></p><p><b> 源程序清單</b><
43、;/p><p> #include<iostream></p><p> #include<string></p><p> #include<iomanip></p><p> using namespace std;</p><p> class kecheng
44、 //模塊一</p><p><b> {</b></p><p> public: //公有數(shù)據(jù)</p><p> void setvalue(); //輸入函數(shù)</p><p> void showke(); //處理、輸出函數(shù)</p>
45、<p> string ming[16]; //課程名</p><p> string jiao[16]; //教師名</p><p> string di[16]; //教室地點</p><p> int qi[16]; //課程起始周</p><p> int jie[16
46、]; //課程結(jié)束周</p><p> int xing[16]; //星期</p><p> int tang[16]; //第幾堂</p><p><b> }; </b></p><p> void kecheng::setvalue() //模塊二</p&g
47、t;<p><b> {</b></p><p> for(int i=0;i<16;i++) //for循環(huán)控制輸入</p><p><b> {</b></p><p> cout<<"*請輸入課程名稱(請簡寫 不要超過6個字)"<<endl;&
48、lt;/p><p> cin>>ming[i];</p><p> cout<<"*請輸入課程教師"<<endl;</p><p> cin>>jiao[i];</p><p> cout<<"*請輸入教室"<<endl;<
49、;/p><p> cin>>di[i];</p><p> cout<<"*請輸入課程的起始周"<<endl;</p><p> cin>>qi[i];</p><p> if(qi[i]>20) </p><p>&l
50、t;b> {</b></p><p> cout<<"輸入錯誤! 請重新輸入"<<endl; //錯誤判斷</p><p> cin>>qi[i]; //重新輸入</p><p><b> } </b>
51、</p><p> cout<<"*請輸入課程的結(jié)束周"<<endl;</p><p> cin>>jie[i];</p><p> if(jie[i]>20) //錯誤判斷</p><p><b> {<
52、/b></p><p> cout<<"輸入錯誤! 請重新輸入"<<endl;</p><p> cin>>jie[i]; //重新輸入</p><p><b> } </b></p><p> cout
53、<<"*請輸入課程一周有幾天有"<<endl; //一門課一周幾節(jié)的處理</p><p><b> int s;</b></p><p> cin>>s; //輸入節(jié)數(shù)</p><p><b> {</b&g
54、t;</p><p> for(int u=0;u<s;u++) //for循環(huán)控制多節(jié)輸入</p><p><b> {</b></p><p> ming[i+u]=ming[i];</p><p> jiao[i+u]=jiao[i];</p><p
55、> di[i+u]=di[i];</p><p> qi[i+u]=qi[i];</p><p> jie[i+u]=jie[i];</p><p> cout<<"*請輸入第"<<u+1<<"次課是星期幾"<<endl;</p><p>
56、 cin>>xing[i+u];</p><p> if(xing[i+u]>7)</p><p><b> {</b></p><p> cout<<"輸入錯誤! 請重新輸入"<<endl;</p><p> cin>>xing[i+u
57、];</p><p><b> }</b></p><p> cout<<"*請輸入課程是第幾堂"<<endl;</p><p> cin>>tang[i+u];</p><p> if(tang[i+u]>5)</p><p>
58、;<b> {</b></p><p> cout<<"輸入錯誤! 請重新輸入"<<endl;</p><p> cin>>tang[i+u];</p><p><b> }</b></p><p><b> }</
59、b></p><p><b> }</b></p><p><b> i=i+s;</b></p><p> cout<<"*請問是否繼續(xù)下一個課程?(Y/N)"<<endl; //是否繼續(xù)輸入</p><p><b> char
60、 num;</b></p><p><b> cin>>num;</b></p><p> if(num=='Y'||num=='y') continue; //繼續(xù)下一個</p><p> else break;
61、 //結(jié)束輸入</p><p><b> }</b></p><p><b> }</b></p><p> void kecheng::showke() //模塊三</p><p><b&g
62、t; {</b></p><p> cout<<" ////////////////////////////////"<<endl; //課表的頁眉</p><p> cout<<"
63、 //課 程 表//"<<endl;</p><p> cout<<" ////////////////////////////////"<<endl;</p>
64、<p> cout<<"_____________________________________________________________________________________________________"<<endl;</p><p> cout<<" | 一 | 二
65、 | 三 | 四 | 五 | 六 | 日 | "<<endl;</p><p> cout<<"___________________________________________________________________________________________
66、__________"<<endl;</p><p> for(int i=1;i<6;i++)</p><p><b> {</b></p><p> int l; //用l來檢測此項是否有內(nèi)容輸出</p><p> switch(i
67、) //課表的一天節(jié)數(shù) 輸出</p><p><b> {</b></p><p> case 1:cout<<"一(1-2) |";break;</p><p> case 2:cout<<"二(3-4) |";break;&
68、lt;/p><p> case 3:cout<<"三(5-6) |";break;</p><p> case 4:cout<<"四(7-8) |";break;</p><p> case 5:cout<<"五(9-10) |";break;</p>
69、<p><b> }</b></p><p> for(int j=1;j<8;j++)</p><p><b> {</b></p><p><b> l=0;</b></p><p> for(int n=0;n<16;n++)</p
70、><p><b> {</b></p><p> if(tang[n]==i&&xing[n]==j)</p><p><b> {</b></p><p> cout<<setw(12)<<ming[n]<<"|"; /
71、/課名輸出</p><p><b> l=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(l==0)</b></p><p><b> {
72、</b></p><p> cout<<" |"; //若沒有則輸出空格</p><p><b> }</b></p><p><b> }</b></p><p> cout<<endl;&l
73、t;/p><p> cout<<" | ";</p><p> for( j=1;j<8;j++)</p><p><b> {</b></p><p><b> l=0;</b></p><p> for(int
74、n=0;n<16;n++)</p><p><b> {</b></p><p> if(tang[n]==i&&xing[n]==j)</p><p><b> {</b></p><p> cout<<setw(10)<<jiao[n]<
75、;<" | "; //教師輸出</p><p><b> l=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(l==0)</b></p>
76、;<p><b> {</b></p><p> cout<<" | "; //若沒有則輸出空格</p><p><b> }</b></p><p><b> }</b></p><p&
77、gt; cout<<endl;</p><p> cout<<" | "; </p><p> for( j=1;j<8;j++)</p><p><b> {</b></p><p><b>
78、l=0;</b></p><p> for(int n=0;n<16;n++)</p><p><b> {</b></p><p> if(tang[n]==i&&xing[n]==j)</p><p><b> {</b></p><
79、p> cout<<setw(11)<<di[n]<<"| "; //地點輸出</p><p><b> l=1;</b></p><p><b> }</b></p><p><b> }</b></p><
80、;p><b> if(l==0)</b></p><p><b> {</b></p><p> cout<<" | "; //若沒有則輸出空格</p><p><b> }</b></p><p&
81、gt;<b> }</b></p><p> cout<<endl;</p><p> cout<<" |";</p><p> for( j=1;j<8;j++)</p><p><b> {</b></p>
82、<p><b> l=0;</b></p><p> for(int n=0;n<16;n++)</p><p><b> {</b></p><p> if(tang[n]==i&&xing[n]==j)</p><p><b> {</
83、b></p><p> cout<<" ("<<setw(2)<<qi[n]<<" -"<<setw(2)<<jie[n]<<")周 "; //總周數(shù)輸出</p><p> cout<<"|";</
84、p><p><b> l=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(l==0)</b></p><p><b> {</b>
85、</p><p> cout<<setw(12)<<" "; //若沒有則輸出空格</p><p> cout<<"|";</p><p><b> }</b></p><p><b> }</b
86、></p><p> cout<<endl;</p><p> cout<<"_____________________________________________________________________________________________________"<<endl;</p><
87、;p><b> }</b></p><p><b> }</b></p><p> int main() //模塊四</p><p><b> {</b></p><p> cout<<"*****
88、**********歡迎使用課程表建立系統(tǒng) ^-^***************"<<endl<<endl;; //系統(tǒng)進入</p><p> kecheng ke;</p><p> cout<<" *************** 請輸入相關(guān)課程信息***************"<<endl<&
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計報告
- c++課程設(shè)計ppt
- c++課程設(shè)計報告--高校人員管理系統(tǒng)
- c++課程設(shè)計--某高校信息管理
- c++課程設(shè)計 高校人事管理系統(tǒng)
- c++課程設(shè)計--c++程序設(shè)計語言
- 串口通信c++課程設(shè)計
- c++課程設(shè)計-- c++面向?qū)ο蟪绦蛟O(shè)計
- c++掃雷課程設(shè)計報告
- 中南大學(xué)c++課程設(shè)計
- c++課程設(shè)計-教學(xué)游戲
- c++課程設(shè)計——乘積最大
- 高校人事管理系統(tǒng)課程設(shè)計c++版
- c++課程設(shè)計--高校工資管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績表
- c++課程設(shè)計——矩陣類
- c++課程設(shè)計---商場管理
- c++課程設(shè)計(文章編輯)
- c++課程設(shè)計高校水電費管理系統(tǒng)
- c++課程設(shè)計-----高校工資管理系統(tǒng)
評論
0/150
提交評論