




下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高職教育教師隊(duì)伍建設(shè)與職業(yè)能力提升策略
- 德育共同體視角下中醫(yī)藥高校德育目標(biāo)與實(shí)現(xiàn)路徑
- 陜西省咸陽(yáng)市實(shí)驗(yàn)中學(xué)2025屆化學(xué)九年級(jí)第一學(xué)期期末學(xué)業(yè)水平測(cè)試模擬試題含解析
- 車輛抵押貸款風(fēng)險(xiǎn)控制方案合同范本
- 搬運(yùn)工職業(yè)健康安全協(xié)議范本
- 人工智能技術(shù)及其在各行業(yè)應(yīng)用前景研究報(bào)告
- 出版業(yè)數(shù)字化轉(zhuǎn)型的營(yíng)銷策略
- 2025至2030中國(guó)保稅區(qū)行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 2025至2030皮膚癌治療學(xué)行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 生物質(zhì)航空燃料生產(chǎn)行業(yè)市場(chǎng)拓展策略
- 2025年入黨培訓(xùn)測(cè)試題庫(kù)及答案
- 工地用電節(jié)約管理辦法
- 科創(chuàng)板開(kāi)戶測(cè)試題及答案
- 內(nèi)科護(hù)理學(xué)消化性潰瘍
- 北京市第一零一中學(xué)2023-2024學(xué)年高一下學(xué)期期末考試地理試題(解析版)
- 電影音樂(lè)欣賞智慧樹(shù)知到期末考試答案章節(jié)答案2024年華南農(nóng)業(yè)大學(xué)
- 《干部履歷表》(電子版)
- 高一物理學(xué)案(必修1)
- 保密工作臺(tái)賬實(shí)用表格
- 2020女性生育力保存國(guó)際指南解讀(完整版)
- 廣東省初級(jí)中學(xué)學(xué)生學(xué)籍表
評(píng)論
0/150
提交評(píng)論