課程表_C課程設(shè)計(jì)_第1頁(yè)
課程表_C課程設(shè)計(jì)_第2頁(yè)
課程表_C課程設(shè)計(jì)_第3頁(yè)
課程表_C課程設(shè)計(jì)_第4頁(yè)
課程表_C課程設(shè)計(jì)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余11頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、高校課程表設(shè)計(jì)一、課程設(shè)計(jì)的的題目:高校課程表設(shè)計(jì)二、功能說(shuō)明:學(xué)生課表建立系統(tǒng)是學(xué)生日常生活中必不可少的實(shí)用型小工具,它對(duì)于學(xué)生平時(shí)的學(xué)習(xí)生活有著相當(dāng)重要的幫助作用。便于操作、顯示精確、短小實(shí)用就是它的明顯特點(diǎn)。本次課程設(shè)計(jì)目的:通過(guò)一個(gè)課程表建立系統(tǒng),使學(xué)生的學(xué)業(yè)及其他事物的時(shí)間安排更加合理,從而達(dá)到提高日常工作、學(xué)習(xí)效率。使學(xué)生掌握一門高級(jí)程序設(shè)計(jì)語(yǔ)言,了解面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念與方法,進(jìn)而學(xué)會(huì)利用C+胡言學(xué)會(huì)解決一般應(yīng)用問(wèn)題,并為后續(xù)的專業(yè)課程奠定程序設(shè)計(jì)基礎(chǔ)。系統(tǒng)的基本模塊:根據(jù)系統(tǒng)功能的要求,課程表建立系統(tǒng)可以分為課程信息的輸入, 課程表的處理及建立等模塊。通過(guò)分析可以知道該軟

2、件主要有以下功能模塊:? 學(xué)生課程名稱顯示? 總學(xué)周時(shí)間顯示? 教師顯示? 地點(diǎn)顯示? 星期顯示? 一天中具體時(shí)間顯示其中本次課程設(shè)計(jì)實(shí)現(xiàn)的檔案模塊又分為如下子模塊:? 登陸界面:主要是增加系統(tǒng)的人性化,使用戶舒心? 信息錄入:主要是將課程相關(guān)信息錄入? 信息處理? 顯示項(xiàng)目:對(duì)學(xué)生課程信息進(jìn)行處理、列表、顯示。系統(tǒng)結(jié)構(gòu)圖1 如下:圖1系統(tǒng)結(jié)構(gòu)圖三、類的.設(shè)計(jì):各類的具體說(shuō)明及描述kecheng類的設(shè)計(jì)為了實(shí)現(xiàn)管理系統(tǒng)的各功能首先定義了一個(gè) kecheng類,用來(lái)定義各種數(shù)據(jù) 成員,聲明這些功能函數(shù)。比如:說(shuō)明為什么要這樣設(shè)計(jì)setvalue() , showke() 等 , 同時(shí)聲明一些私有

3、成員。class kechengpublic:void setvalue();void showke();string ming16;string jiao16;string di16;int qi16;int jie16;int xing16;int tang16;關(guān)鍵功能的實(shí)現(xiàn)( 1)信息的輸入setvalue() 函數(shù)用來(lái)輸入相關(guān)信息,包括課程名稱、教師名稱、教室地點(diǎn)、課程起始周、課程結(jié)束周、上課的星期、上課的具體時(shí)間。輸入一次信息之后可選擇是否繼續(xù)添加新的課程。此函數(shù)代碼如下:1基本信息輸入void kecheng:setvalue()for(int i=0;i<16;i+)co

4、ut<<"* 請(qǐng)輸入課程名稱( 請(qǐng)簡(jiǎn)寫不要超過(guò)6 個(gè)字 )"<<endl;cin>>mingi;cout<<"* 請(qǐng)輸入課程教師"<<endl;cin>>jiaoi;cin>>dii;cout<<"*請(qǐng)輸入課程的起始周"<<endl;cin>>qii;2 .如果輸入錯(cuò)誤,系統(tǒng)會(huì)自檢,提示錯(cuò)誤cout<<"*請(qǐng)輸入課程的結(jié)束周"<<endl;cin>>jiei;i

5、f(jiei>20)(cout<<"輸入錯(cuò)誤!請(qǐng)重新輸入"<<endl;cin>>jiei;3 .程序會(huì)對(duì)一課程多節(jié)課的現(xiàn)象進(jìn)行處理cout<<"*請(qǐng)輸入課程一周有幾天有"<<endl;int s;cin>>s;(for(int u=0;u<s;u+)(mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+u=qii;jiei+u=jiei;cout<<"*請(qǐng)輸入第"<<u+1<<&qu

6、ot;次課是星期幾"<<endl;cin>>xingi+u;if(xingi+u>7)cout<<" 輸入錯(cuò)誤! 請(qǐng)重新輸入"<<endl;cin>>xingi+u;cout<<"* 請(qǐng)輸入課程是第幾堂"<<endl;cin>>tangi+u;if(tangi+u>5)cout<<" 輸入錯(cuò)誤! 請(qǐng)重新輸入"<<endl;cin>>tangi+u;i=i+s;4輸完一門課程之后,系統(tǒng)

7、會(huì)自動(dòng)提示是否進(jìn)行下一課程的輸入cout<<"* 請(qǐng)問(wèn)是否繼續(xù)下一個(gè)課程?(Y/N)"<<endl;char num;cin>>num;if(num='Y'|num='y') continue;else break;( 2)信息的處理與輸出showke() 函數(shù), 此部分用來(lái)實(shí)現(xiàn)課程相關(guān)信息的排序,包括表格的建立與信息的對(duì)應(yīng)輸出,此函數(shù)用來(lái)顯示課程表的界面,用了一些“”號(hào)建立表格,在程序重的最后,通過(guò)for 來(lái)實(shí)現(xiàn)整個(gè)程序的循環(huán),并且使用了switch 選擇分支結(jié)構(gòu),使功能更容易實(shí)現(xiàn)。1基本課表表頭的輸出此

8、函數(shù)代碼如下:void kecheng:showke()cout<<"/"<<endl;cout<<"/課程表 /"<<endl;cout<<"/"<<endl;cout<<""<<endl;cout<<" |一 |二 |三 |四| 五 |六 |日 | "<<endl;cout<<""<<endl;2對(duì)一天時(shí)間(110 節(jié) ) 的格式

9、輸出此函數(shù)代碼如下:for(int i=1;i<6;i+)int l;switch(i)case 1:cout<<"(1-2) |"break;case 2:cout<<"(3-4) |"break;case 3:cout<<"(5-6) |"break;case 4:cout<<"(7-8) |"break;case 5:cout<<" 五 (9-10) |"break;3循環(huán)輸出課程信息,這里采用雙循環(huán),用于控制表格位置的對(duì)號(hào)

10、輸出及信息的循環(huán)輸出此函數(shù)代碼如下:for(int j=1;j<8;j+)l=0;for(int n=0;n<16;n+)if(tangn=i&&xingn=j)cout<<setw(12)<<mingn<<"|"l=1;if(l=0)cout<<" |"cout<<endl;cout<<" | "cout<<""<<endl;軟件測(cè)試與調(diào)試進(jìn)入本程序如圖2 所示圖 2 登陸界面系統(tǒng)會(huì)提示輸入

11、相關(guān)信息,課程是星期幾、第幾堂是必須輸入的,輸入一次信息之后可選擇是否繼續(xù)添加新的課程如圖3 所示。圖 3 顯示輸入界面如果選擇不繼續(xù)系統(tǒng)就會(huì)顯示結(jié)果如圖4 所示圖 4 顯示輸出界面程序在執(zhí)行時(shí)經(jīng)常會(huì)出現(xiàn)一些違反設(shè)計(jì)期望的異常情況(如數(shù)值過(guò)大),一些大型的應(yīng)用系統(tǒng)的開(kāi)發(fā)人員提出,可以在允許的范圍內(nèi)由應(yīng)用程序自身來(lái)處理一般性的程序運(yùn)行錯(cuò)誤。C+胡言異常處理由三個(gè)部分構(gòu)成。異常檢測(cè)的觸發(fā)、異常檢測(cè)的捕獲和異常檢測(cè)的處理。在這里我通過(guò)添加檢測(cè)函數(shù)來(lái)確保程序的正常運(yùn)行代碼如下:if(xingi+u>7)cout<<" 輸入錯(cuò)誤! 請(qǐng)重新輸入"<<end

12、l;cin>>xingi+u;結(jié)束語(yǔ)經(jīng)過(guò) 1 周多的設(shè)計(jì)和開(kāi)發(fā),學(xué)生課程表建立基本開(kāi)發(fā)完畢。其功能基本符合用戶需求,能夠完成信息完整輸入以及各類報(bào)表的打印。對(duì)于數(shù)據(jù)的一致性的問(wèn)題也通過(guò)程序進(jìn)行了有效的解決。但是由于課程設(shè)計(jì)時(shí)間較短,所以該系統(tǒng)還有許多不足之處:比如 系統(tǒng)維護(hù)功能, 還不能讓用戶進(jìn)行數(shù)據(jù)備份和恢復(fù);用戶界面不夠美觀;這些都有 待進(jìn)一步改善。附錄 : 要注釋源程序清單#include<iostream>#include<string>#include<iomanip>using namespace std;class kechengp

13、ublic:void setvalue();void showke();string ming16;string jiao16;string di16;int qi16;int jie16;int xing16;int tang16;/模塊一/公有數(shù)據(jù) /輸入函數(shù) /處理、輸出函數(shù) /課程名 /教師名 /教室地點(diǎn) /課程起始周 /課程結(jié)束周 /星期/第幾堂;void kecheng:setvalue() /模塊二for(int i=0;i<16;i+) /for 循環(huán)控制輸入cout<<"* 請(qǐng)輸入課程名稱(請(qǐng)簡(jiǎn)寫 不要超過(guò)6 個(gè)字 )"<<e

14、ndl;cin>>mingi;cout<<"*請(qǐng)輸入課程教師"<<endl;cin>>jiaoi;cout<<"* 請(qǐng)輸入教室"<<endl;cin>>dii;cout<<"*請(qǐng)輸入課程的起始周"<<endl;cin>>qii;if(qii>20)(cout<<"輸入錯(cuò)誤!請(qǐng)重新輸入"<<endl;/錯(cuò)誤判斷cin>>qii;/重新輸入cout<&l

15、t;"*請(qǐng)輸入課程的結(jié)束周"<<endl;cin>>jiei;if(jiei>20)/錯(cuò)誤判斷(cout<<"輸入錯(cuò)誤!請(qǐng)重新輸入"<<endl;cin>>jiei;重新輸入cout<<"*請(qǐng)輸入課程周有幾天有"<<endl; /門課周幾節(jié)的處理 int s;cin>>s;輸入節(jié)數(shù)(for(int u=0;u<s;u+)/for循環(huán)控制多節(jié)輸入(mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+

16、u=qii;jiei+u=jiei;cout<<"*請(qǐng)輸入第"<<u+1<<"次課是星期幾"<<endl; cin>>xingi+u;if(xingi+u>7) ( cout<<"輸入錯(cuò)誤!請(qǐng)重新輸入"<<endl; cin>>xingi+u; cout<<"*請(qǐng)輸入課程是第幾堂"<<endl; cin>>tangi+u;if(tangi+u>5) ( cout<&l

17、t;"輸入錯(cuò)誤!請(qǐng)重新輸入"<<endl; cin>>tangi+u; i=i+s; cout<<"*請(qǐng)問(wèn)是否繼續(xù)下一個(gè)課程?(Y/N)"<<endl;/是否繼續(xù)輸入char num; cin>>num;if(num='Y'|num='y') continue;繼續(xù)下個(gè)else break;結(jié)束輸入 void kecheng二showke()模塊三( cout<<" /"<<endl;/課表的頁(yè)眉/課cout<&l

18、t;"表 /"<<endl;cout<<"/"<<endl;cout<<""<<endl;cout<<"| 一 | 二 | 三 | 四| 五 | 六 | 日 | "<<endl;cout<<""<<endl;for(int i=1;i<6;i+)int l;switch(i)/用l 來(lái)檢測(cè)此項(xiàng)是否有內(nèi)容輸出/課表的一天節(jié)數(shù)輸出case 1:cout<<J (1-2) |”

19、;break;case 2:cout<<"z!(3-4) |”;break;case 3:cout<<"E£(5-6) |”;break;case 4:cout<<'四(7-8) |”;break;case 5:cout<<五(9-10) |”;break;for(int j=1;j<8;j+)l=0;for(int n=0;n<16;n+)if(tangn=i&&xingn=j)cout<<setw(12)<<mingn<<"|&qu

20、ot;/課名輸出l=1;)if(l=0)(cout<<"|"/若沒(méi)有則輸出空格)cout<<endl;cout<<"| "for( j=1;j<8;j+)(l=0;for(int n=0;n<16;n+)(if(tangn=i&&xingn=j)( cout<<setw(10)<<jiaon<<" | "教師輸出l=1;)if(l=0)(cout<<"| "/若沒(méi)有則輸出空格)cout<<endl;cout<<"| "for( j=1;j<8;j+)(l=0;for(int n=0;n<16;n+)(if(tangn=i&&xingn=j)(cout<<setw(11)<<din&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論