版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于c+的課程表建立系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第- 2 -頁(yè) 共16頁(yè)基于c+的課程表建立系統(tǒng)的實(shí)現(xiàn)學(xué)生姓名: 指導(dǎo)老師:摘 要 隨著現(xiàn)代化計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)的應(yīng)用已經(jīng)無(wú)處不再。無(wú)論是在工廠、公司還是其它地方,特別是在校園中,這科學(xué)與學(xué)識(shí)不斷更新的領(lǐng)地,計(jì)算機(jī)的使用已經(jīng)是大勢(shì)所趨。計(jì)算機(jī)使用時(shí)具有簡(jiǎn)易、方便等功能,設(shè)計(jì)一個(gè)基于c+的課程表建立系統(tǒng)只是一個(gè)學(xué)生生活中的基本應(yīng)用。它方便同學(xué)們學(xué)習(xí)生活中的細(xì)節(jié)。本課程表使用了面向?qū)ο蟮姆椒?,運(yùn)用microsoft visual c+ 6.0實(shí)現(xiàn)了信息輸入立即處理,建立詳細(xì)標(biāo)準(zhǔn)的學(xué)習(xí)課表。關(guān)鍵詞 c+ ; 建立課表; 目錄1 引 言- 3 -2系統(tǒng)需求分
2、析- 4 -21問(wèn)題定義- 4 -2、2 可行性研究- 4 -2、3 需求分析- 5 -3 總體設(shè)計(jì)- 5 -4 詳細(xì)設(shè)計(jì)741 student類(lèi)的設(shè)計(jì)742數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)- 7 -43關(guān)鍵功能的實(shí)現(xiàn)- 8 -5 軟件測(cè)試與調(diào)試136 結(jié)束語(yǔ)157致謝15參考文獻(xiàn)- 15 -附錄:- 16 - 2 -朱銀滿(mǎn) 基于c+的課程表建立系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第- 23 -頁(yè) 共22頁(yè)1 引 言學(xué)生課表建立系統(tǒng)是學(xué)生日常生活中必不可少的實(shí)用型小工具,它對(duì)于學(xué)生平時(shí)的學(xué)習(xí)生活有著相當(dāng)重要的幫助作用。便于操作、顯示精確、短小實(shí)用就是它的明顯特點(diǎn)。計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手:今天,計(jì)算機(jī)的價(jià)格已經(jīng)十分
3、低廉,性能卻有了長(zhǎng)足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面:首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng);其次,計(jì)算機(jī)可以節(jié)省許多資源;第三,計(jì)算機(jī)可以大大的提高人們的工作效率等等。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)來(lái)建立學(xué)生的課表有著非常明顯的優(yōu)點(diǎn)。它便于課表的實(shí)現(xiàn),直觀的觀察使同學(xué)的觀察和讀取更加簡(jiǎn)易。本次課程設(shè)計(jì)目的:通過(guò)一個(gè)課程表建立系統(tǒng),使學(xué)生的學(xué)業(yè)及其他事物的時(shí)間安排更加合理,從而達(dá)到提高日常工作、學(xué)習(xí)效率。使學(xué)生掌握一門(mén)
4、高級(jí)程序設(shè)計(jì)語(yǔ)言,了解面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念與方法,進(jìn)而學(xué)會(huì)利用c+語(yǔ)言學(xué)會(huì)解決一般應(yīng)用問(wèn)題,并為后續(xù)的專(zhuān)業(yè)課程奠定程序設(shè)計(jì)基礎(chǔ)。系統(tǒng)的基本模塊:根據(jù)系統(tǒng)功能的要求,課程表建立系統(tǒng)可以分為課程信息的輸入,課程表的處理及建立等模塊。- 23 -2系統(tǒng)需求分析21問(wèn)題定義問(wèn)題定義主要是用來(lái)初步的確定設(shè)計(jì)的規(guī)模和目標(biāo),通過(guò)這一階段應(yīng)該提出關(guān)于問(wèn)題性質(zhì)、工程的目標(biāo)和規(guī)模的書(shū)面報(bào)告。問(wèn)題定義階段是軟件生命周期中最簡(jiǎn)短的階段,此次設(shè)計(jì)花了一周的時(shí)間,問(wèn)題定義報(bào)告如下:項(xiàng)目:學(xué)生課程管理應(yīng)用軟件。目的:讓同學(xué)有效的管理課程信息,幫助同學(xué)掌握課程時(shí)間及其它狀況。背景:當(dāng)前學(xué)生對(duì)上課時(shí)間及其它信息掌握不到位
5、,存在不到、遲到或忘記課程等狀況。2、2 可行性研究可行性研究的最終目的就是利用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。這一階段只是確定問(wèn)題是否值得去解,而不是去解決問(wèn)題。要考慮能否解決主要從下面兩個(gè)方面考慮:(1)技術(shù)可行性 使用現(xiàn)有技術(shù)是否能夠?qū)崿F(xiàn)這個(gè)系統(tǒng)。(2)經(jīng)濟(jì)可行性 就是該系統(tǒng)的經(jīng)濟(jì)效益能超過(guò)它的開(kāi)發(fā)成本嗎?(3)操作可行性從技術(shù)方面,是通過(guò)c+來(lái)做系統(tǒng)的前臺(tái),來(lái)實(shí)現(xiàn)整系統(tǒng)的功能;從操作方面,基本的錄入、查看等都能滿(mǎn)足用戶(hù)的需求;此次設(shè)計(jì)沒(méi)有考慮經(jīng)濟(jì)可行性。經(jīng)過(guò)這一階段確定了該系統(tǒng)的粗略系統(tǒng)流程圖(圖3-1)??尚醒芯侩A段的目標(biāo)是:使工作人員從繁瑣的填表,查表工作中解放出
6、來(lái);提高工作質(zhì)量,使供需雙方都獲得滿(mǎn)意的結(jié)果;促進(jìn)報(bào)表,提高工作效率。2、3 需求分析應(yīng)該確定系統(tǒng)必須在microsoft visual c+ 6.0的環(huán)境下實(shí)現(xiàn)具有錄入、處理、顯示的學(xué)生課程表建立系統(tǒng)。通過(guò)以上可以知道該軟件主要有以下功能模塊: 學(xué)生課程名稱(chēng)顯示 總學(xué)周時(shí)間顯示 教師顯示 地點(diǎn)顯示 星期顯示 一天中具體時(shí)間顯示其中本次課程設(shè)計(jì)實(shí)現(xiàn)的檔案模塊又分為如下子模塊: 登陸界面:主要是增加系統(tǒng)的人性化,使用戶(hù)舒心 信息錄入:主要是將課程相關(guān)信息錄入 信息處理 顯示項(xiàng)目:對(duì)學(xué)生課程信息進(jìn)行處理、列表、顯示。3 總體設(shè)計(jì)總體設(shè)計(jì)的目標(biāo):簡(jiǎn)單的說(shuō)是回答“概括的說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”這個(gè)問(wèn)題
7、,所以總體設(shè)計(jì)又稱(chēng)概要設(shè)計(jì)或初步設(shè)計(jì)。而總體設(shè)計(jì)的過(guò)程是系統(tǒng)設(shè)計(jì),首先定義一個(gè)包含了學(xué)生課程信息的struct結(jié)點(diǎn),其次定義一個(gè)kecheng類(lèi)來(lái)實(shí)現(xiàn)封裝。下面先說(shuō)一下一些相關(guān)的概念:模塊化是把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集總起來(lái)組成一個(gè)整體,可以完成指定的功能及問(wèn)題的要求。采用模塊化原理可以使軟件結(jié)構(gòu)清晰,容易設(shè)計(jì)也容易閱讀和理解,也易于測(cè)試和調(diào)度,所以它有利于提高軟件的可靠性和可修改性;抽象是人類(lèi)認(rèn)識(shí)復(fù)雜事物時(shí)最有力的思維工具;模塊獨(dú)立是模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。內(nèi)聚和耦合是對(duì)模塊獨(dú)立程度的兩個(gè)定性標(biāo)準(zhǔn)合衡量不同模塊間彼此間互相依賴(lài)的緊密程度
8、;內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此間結(jié)合的緊密程度。軟件的系統(tǒng)結(jié)構(gòu)圖如下圖3-1所示:系統(tǒng)用戶(hù)進(jìn)入課程信息輸入名稱(chēng)教師教室總周數(shù)星期第幾堂信息處理信息顯示圖3-1 系統(tǒng)結(jié)構(gòu)圖4 詳細(xì)設(shè)計(jì)41 kecheng類(lèi)的設(shè)計(jì) 為了實(shí)現(xiàn)管理系統(tǒng)的各功能首先定義了一個(gè)kecheng類(lèi),用來(lái)定義各種數(shù)據(jù)成員,聲明這些功能函數(shù)。比如:說(shuō)明為什么要這樣設(shè)計(jì)setvalue(),showke()等 ,同時(shí)聲明一些私有成員。class kechengpublic:void setvalue();void showke();string ming16;string jiao16;string di16;int qi16
9、;int jie16;int xing16;int tang16;42數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)數(shù)據(jù)字典:數(shù)據(jù)字典包括以下幾種類(lèi)型的條目: 數(shù)據(jù)流條目數(shù)據(jù)流條目給出某個(gè)數(shù)據(jù)流和定義,它通常是列出該數(shù)據(jù)流的各組成數(shù)據(jù)元素。該系統(tǒng)中的數(shù)據(jù)流條目有:課程基本信息課程名稱(chēng)教師名稱(chēng)教室地點(diǎn)課程起始、結(jié)束時(shí)間上課的星期上課的具體時(shí)間邏輯結(jié)構(gòu)的設(shè)計(jì)如表4-1所示:表4-1課程基本信息結(jié)構(gòu)設(shè)計(jì)列名數(shù)據(jù)類(lèi)型可否為空說(shuō)明ming stringnot null課程名稱(chēng)jiao stringnull教師名稱(chēng)di stringnull教室地點(diǎn)qi intnull課程起始周jie intnull課程結(jié)束周xing intnot nu
10、ll上課的星期tang intnot null上課的具體時(shí)間43關(guān)鍵功能的實(shí)現(xiàn)(1)信息的輸入setvalue()函數(shù)用來(lái)輸入相關(guān)信息,包括課程名稱(chēng)、教師名稱(chēng)、教室地點(diǎn)、課程起始周、課程結(jié)束周、上課的星期、上課的具體時(shí)間。輸入一次信息之后可選擇是否繼續(xù)添加新的課程。此函數(shù)代碼如下:1基本信息輸入void kecheng:setvalue()for(int i=0;i16;i+)cout*請(qǐng)輸入課程名稱(chēng)(請(qǐng)簡(jiǎn)寫(xiě) 不要超過(guò)6個(gè)字)mingi;cout*請(qǐng)輸入課程教師jiaoi;cout*請(qǐng)輸入教室dii;cout*請(qǐng)輸入課程的起始周qii;2如果輸入錯(cuò)誤,系統(tǒng)會(huì)自檢,提示錯(cuò)誤cout*請(qǐng)輸入課程的
11、結(jié)束周jiei;if(jiei20)cout輸入錯(cuò)誤! 請(qǐng)重新輸入jiei; 3程序會(huì)對(duì)一課程多節(jié)課的現(xiàn)象進(jìn)行處理cout*請(qǐng)輸入課程一周有幾天有s;for(int u=0;us;u+)mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+u=qii;jiei+u=jiei;cout*請(qǐng)輸入第u+1次課是星期幾xingi+u; if(xingi+u7)cout輸入錯(cuò)誤! 請(qǐng)重新輸入xingi+u; cout*請(qǐng)輸入課程是第幾堂tangi+u; if(tangi+u5) cout輸入錯(cuò)誤! 請(qǐng)重新輸入tangi+u;i=i+s;4輸完一門(mén)課程之后,系統(tǒng)會(huì)自動(dòng)提示是否
12、進(jìn)行下一課程的輸入cout*請(qǐng)問(wèn)是否繼續(xù)下一個(gè)課程?(y/n)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 基本課表表頭的輸出此函數(shù)代碼如下:void kecheng:showke()cout /endl;cout /課 程 表/endl;cout /endl;cout_endl;cout |
13、一 | 二 | 三 | 四 | 五 | 六 | 日 | endl; cout_endl;2 對(duì)一天時(shí)間(110節(jié))的格式輸出此函數(shù)代碼如下:for(int i=1;i6;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)輸出及信息的循環(huán)輸出此函數(shù)代碼如下:for(int j=1;j8
14、;j+)l=0;for(int n=0;n16;n+)if(tangn=i&xingn=j)coutsetw(12)mingn|;l=1;if(l=0) cout |;coutendl;cout | ; cout_7)cout輸入錯(cuò)誤! 請(qǐng)重新輸入xingi+u;6 結(jié)束語(yǔ)經(jīng)過(guò)1周多的設(shè)計(jì)和開(kāi)發(fā),學(xué)生課程表建立基本開(kāi)發(fā)完畢。其功能基本符合用戶(hù)需求,能夠完成信息完整輸入以及各類(lèi)報(bào)表的打印。對(duì)于數(shù)據(jù)的一致性的問(wèn)題也通過(guò)程序進(jìn)行了有效的解決。 但是由于課程設(shè)計(jì)時(shí)間較短,所以該系統(tǒng)還有許多不足之處:比如 系統(tǒng)維護(hù)功能,還不能讓用戶(hù)進(jìn)行數(shù)據(jù)備份和恢復(fù);用戶(hù)界面不夠美觀;這些都有待進(jìn)一步改善。通過(guò)一個(gè)學(xué)期
15、的學(xué)習(xí),我認(rèn)為要學(xué)好c+語(yǔ)言程序這門(mén)課程,不僅要認(rèn)真閱讀課本知識(shí),更重要的是要通過(guò)上機(jī)實(shí)踐才能增強(qiáng)和鞏固我的知識(shí)。特別是作為高職生,更要注重實(shí)踐這一環(huán)節(jié),只有這樣我們才能成為合格的計(jì)算機(jī)人材。7 致謝在本次課程設(shè)計(jì)中,羅奕老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我受益匪淺。在整個(gè)設(shè)計(jì)過(guò)程中給與我很大的幫助,特別是她看完我們所做的半成品之后,給了很多意見(jiàn)并指出其中的錯(cuò)誤和不足之處,使我們得到不少的提高,這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝她耐心的輔導(dǎo)。另外,在系統(tǒng)開(kāi)發(fā)過(guò)程中,很多同學(xué)給我提供了無(wú)私的幫助,他們犧牲自己寶貴的時(shí)間給我傳授豐富的知識(shí)經(jīng)驗(yàn),在此表示衷心的感
16、謝。參考文獻(xiàn)1 visual c+6.0信息管理系統(tǒng)開(kāi)發(fā)2 譚浩強(qiáng) c+程序設(shè)計(jì) 北京:清華大學(xué)出版社3 宜晨 visual c+5.0實(shí)用培訓(xùn)教程北京:電子工業(yè)出版社,1998附錄: 要注釋源程序清單#include#include#includeusing namespace std;class kecheng /模塊一public: /公有數(shù)據(jù)void setvalue(); /輸入函數(shù)void showke(); /處理、輸出函數(shù)string ming16; /課程名string jiao16; /教師名string di16; /教室地點(diǎn)int qi16; /課程起始周int jie
17、16; /課程結(jié)束周int xing16; /星期int tang16; /第幾堂; void kecheng:setvalue() /模塊二for(int i=0;i16;i+) /for循環(huán)控制輸入cout*請(qǐng)輸入課程名稱(chēng)(請(qǐng)簡(jiǎn)寫(xiě) 不要超過(guò)6個(gè)字)mingi;cout*請(qǐng)輸入課程教師jiaoi;cout*請(qǐng)輸入教室dii;cout*請(qǐng)輸入課程的起始周qii;if(qii20) cout輸入錯(cuò)誤! 請(qǐng)重新輸入qii; /重新輸入 cout*請(qǐng)輸入課程的結(jié)束周jiei;if(jiei20) /錯(cuò)誤判斷cout輸入錯(cuò)誤! 請(qǐng)重新輸入jiei; /重新輸入 cout*請(qǐng)輸入課程一周有幾天有s; /
18、輸入節(jié)數(shù)for(int u=0;us;u+) /for循環(huán)控制多節(jié)輸入mingi+u=mingi;jiaoi+u=jiaoi;dii+u=dii;qii+u=qii;jiei+u=jiei;cout*請(qǐng)輸入第u+1次課是星期幾xingi+u; if(xingi+u7)cout輸入錯(cuò)誤! 請(qǐng)重新輸入xingi+u; cout*請(qǐng)輸入課程是第幾堂tangi+u; if(tangi+u5) cout輸入錯(cuò)誤! 請(qǐng)重新輸入tangi+u;i=i+s;cout*請(qǐng)問(wèn)是否繼續(xù)下一個(gè)課程?(y/n)num;if(num=y|num=y) continue; /繼續(xù)下一個(gè)else break; /結(jié)束輸入vo
19、id kecheng:showke() /模塊三cout /endl; /課表的頁(yè)眉cout /課 程 表/endl;cout /endl;cout_endl;cout | 一 | 二 | 三 | 四 | 五 | 六 | 日 | endl; cout_endl;for(int i=1;i6;i+)int l; /用l來(lái)檢測(cè)此項(xiàng)是否有內(nèi)容輸出switch(i) /課表的一天節(jié)數(shù) 輸出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;for(int j=1;j8;j+)l=0;for(int n=0;n16;n+)if(ta
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《行政職業(yè)能力測(cè)驗(yàn)》2024年公務(wù)員考試阿克陶縣預(yù)測(cè)試卷含解析
- Unitech數(shù)據(jù)采集器PA690產(chǎn)品介紹
- 第16課 毛澤東開(kāi)辟井岡山道路(解析版)
- 2024年體育個(gè)人工作總結(jié)
- 《特斯拉電動(dòng)汽車(chē)》課件
- 新聞業(yè)的變革與挑戰(zhàn)
- 保險(xiǎn)公司人事工作總結(jié)
- 《水利工程質(zhì)量管理》課件
- 2023-2024年項(xiàng)目部安全管理人員安全培訓(xùn)考試題及參考答案【A卷】
- 保護(hù)瀕危動(dòng)物宣傳方案萬(wàn)能2022
- 八年級(jí)歷史期末考試試卷質(zhì)量分析試卷分析
- 煙草專(zhuān)業(yè)個(gè)人簡(jiǎn)歷模板
- 【機(jī)械手】-YAMAHA機(jī)械手手持編程說(shuō)明
- 體育集體備課記錄
- 五年級(jí)語(yǔ)文備課組工作總結(jié)三篇
- 三年級(jí)道德與法治下冊(cè)第一單元我和我的同伴教材解讀新人教版
- 社區(qū)工作者考試考前必背300題
- GB/T 6478-2015冷鐓和冷擠壓用鋼
- QC成果降低AS系統(tǒng)的故障次數(shù)
- GB/T 22528-2008文物保護(hù)單位開(kāi)放服務(wù)規(guī)范
- GB/T 20078-2006銅和銅合金鍛件
評(píng)論
0/150
提交評(píng)論