版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 信息科學(xué)與技術(shù)學(xué)院</b></p><p> 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告</p><p> 題目名稱: 學(xué)生信息管理系統(tǒng) </p><p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): &
2、lt;/p><p> 專業(yè)班級(jí): 計(jì)科11級(jí)二班 </p><p> 指導(dǎo)教師: </p><p> 2012年 7 月 4 日</p><p> 1 課程設(shè)計(jì)題目與要求</p><p><b> 1.1設(shè)計(jì)題目</b></p&g
3、t;<p><b> 行編輯器</b></p><p><b> 1.2設(shè)計(jì)要求</b></p><p> 1.問題描述(功能要求):</p><p> 設(shè)置一個(gè)簡單的行編輯器,每行以回車結(jié)束。</p><p> 數(shù)據(jù)以文件的形式儲(chǔ)存。</p><p>
4、; 編輯器具有查找、替換、修改的功能。</p><p><b> 問題的解決方案:</b></p><p> 根據(jù)系統(tǒng)的功能要求,可以將問題解決分一下步驟:</p><p> 分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為;</p><p> 根據(jù)問題描述,實(shí)現(xiàn)系統(tǒng)的類層次;</p><p&g
5、t; 完成類層次中的各個(gè)類的描述(包括屬性和方法);</p><p> 完成類中的各個(gè)成員函數(shù)的定義;</p><p> 完成系統(tǒng)中的應(yīng)用模塊;</p><p><b> 功能調(diào)試;</b></p><p> 完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書;</p><p><b> 其
6、他要求:</b></p><p> 只能使用c/c++語言,源程序要有合適的注釋,使用程序容易閱讀。</p><p> 至少采用文本菜單界面(如果能使用圖形菜單更好)。</p><p> 學(xué)生可以增加新的功能。</p><p><b> 2總體設(shè)計(jì)</b></p><p>&l
7、t;b> 3 詳細(xì)設(shè)計(jì)</b></p><p><b> 3.1主模塊設(shè)計(jì)</b></p><p> 行編輯器:主要是利用vector(動(dòng)態(tài)數(shù)組)、指針,來實(shí)現(xiàn)對(duì)文檔的儲(chǔ)存、統(tǒng)計(jì)、刪除等功能。</p><p><b> 總體結(jié)構(gòu)流程圖</b></p><p><b&g
8、t; 3</b></p><p> 1 2</p><p> Esc Esc</p><p> 1 2 3
9、4 5</p><p> 全部按3結(jié)束 </p><p><b> 返回主界面</b></p><p><b> 3.2功能設(shè)計(jì)</b&
10、gt;</p><p><b> 字符串的編輯</b></p><p> 字符串的編輯,是利用動(dòng)態(tài)數(shù)組vector進(jìn)行對(duì)字符的儲(chǔ)存,vector不僅是一個(gè)動(dòng)態(tài)數(shù)組,還帶有指針。一開始可以不定義他的大小,根據(jù)用戶的需要輸入。代碼如下:</p><p> cout << endl;</p><p> co
11、ut << " " << "請(qǐng)輸入文本(按Esc鍵切換到統(tǒng)計(jì)模式):" << endl;</p><p> for( int i = 0; i < txt.size(); ++i ) </p><p><b> {</b></p>
12、<p> if( txt[ i ] == 13 ) </p><p> cout << endl; 鍵盤輸入</p><p><b> else</b></p><p> cout << txt[ i ];
13、 </p><p><b> }</b></p><p> char c; </p><p> while( c = getch(),
14、 c != 27 ) if c=27 if c!=27&&c!=13</p><p><b> {</b></p><p> if( c == 13 )</p><p> cout << endl;</p><p><b> els
15、e </b></p><p> cout << c;</p><p> txt.push_back( c );</p><p><b> 統(tǒng)計(jì)文本</b></p><p> 是根據(jù)輸入的文檔的ASSII來判斷分類的,其中能對(duì)英文(分大小寫)、數(shù)字、空格、單詞。進(jìn)行統(tǒng)計(jì)。代碼如下:</
16、p><p> void count_all()</p><p><b> {</b></p><p> cntLower = 0;</p><p> cntUpper = 0;</p><p> cntNumber = 0;</p><p> cntSpace =
17、0;</p><p> cntWords = 0;</p><p> for( int i = 0; i < txt.size(); ++i )</p><p><b> {</b></p><p> if( txt[ i ] == ' ' ) cntSpace++;</p>
18、<p> if( txt[ i ] >= '0' && txt[ i ] <= '9' ) cntNumber++;</p><p> if( txt[ i ] >= 'a' && txt[ i ] <= 'z' ) cntLower++;</p><p>
19、 if( txt[ i ] >= 'A' && txt[ i ] <= 'Z' ) cntUpper++;</p><p> if(!(txt[ i ] >= 'a' && txt[ i ] <= 'z' || txt[ i ] >= 'A' && tx
20、t[ i ] <= 'Z' ) </p><p> && (txt[ i - 1] >= 'a' && txt[ i - 1 ] <= 'z' || txt[ i - 1 ] >= 'A' && txt[ i - 1 ] <= 'Z'))</p>
21、;<p> cntWords++;</p><p><b> }</b></p><p><b> N</b></p><p> Y N</p><p><b> N</b></p><p
22、><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> Y</b></p><p><b> 統(tǒng)計(jì)某一個(gè)字符串</b></p><
23、;p> 統(tǒng)計(jì)是利用指針來找到統(tǒng)計(jì)的字符,再利用計(jì)數(shù)器進(jìn)行計(jì)數(shù)。</p><p> int count_string( const char *t )</p><p> { int res = 0; </p><p> for( int i = 0; i < txt.size(); ++i )</p><p><b
24、> {</b></p><p> int tmp = i;</p><p> int j = 0;</p><p> while( t[ j ] != '\0' && txt[ tmp ] == t[ j ] )</p><p><b> {</b></p
25、><p> tmp++; N</p><p><b> j++;</b></p><p> } Y</p><p> if( t[ j ] == '\0' )res++;&l
26、t;/p><p><b> }</b></p><p> return res;</p><p><b> }</b></p><p><b> Y</b></p><p><b> N</b></p><
27、p><b> 刪除某個(gè)字符串</b></p><p> 刪除字符串雷同查找字符串,查找字符串,先將其字符串找到,再利用計(jì)數(shù)器計(jì)數(shù),而刪除字符串是先找到再刪除,在此不做贅述。</p><p><b> 4主菜單界面</b></p><p><b> 打開程序的界面</b></p>
28、;<p><b> 主菜單</b></p><p><b> 新建文檔</b></p><p> 子菜單(程序的主要功能)</p><p><b> 統(tǒng)計(jì)文本</b></p><p><b> 統(tǒng)計(jì)某個(gè)字符串</b></p&g
29、t;<p><b> 刪除某個(gè)字符串</b></p><p><b> 文檔保存</b></p><p><b> 按任意鍵后到主菜單</b></p><p><b> 打開文檔</b></p><p> 打開文檔(注:修改后的文章
30、)</p><p><b> 5課程設(shè)計(jì)總結(jié)</b></p><p> 經(jīng)過幾天的忙碌,最終把課程設(shè)計(jì)任務(wù)完成了。要做好一件事,只能一步一步的去做,不可能一下子就完成。本來以為簡單的幾個(gè)功能,要實(shí)現(xiàn)以為很容易,至多一天就可以做完,可是在真正實(shí)現(xiàn)、編寫代碼的過程卻發(fā)現(xiàn)有太多的問題沒有解決。比如用什么方式來進(jìn)行字符串的保存,用什么算法來實(shí)現(xiàn)刪除后所有后面的字符向前移動(dòng)
31、,都是值得注意的。</p><p> 要做好一個(gè)系統(tǒng),一個(gè)嚴(yán)謹(jǐn)?shù)乃季S是不可以或缺的,每一個(gè)聯(lián)系都要考慮,每個(gè)細(xì)節(jié)都需要注意,每一種錯(cuò)誤都要會(huì)解決。只有把每一種問題都解決了,才能做出一個(gè)不是很完善的系統(tǒng)出來。讓我懂得了不一定你懂了,你就編出能運(yùn)行的程序,都是要一步一步腳踏實(shí)地去慢慢實(shí)踐,慢慢修改調(diào)試出來的。</p><p><b> 6參考文獻(xiàn)</b></p&
32、gt;<p> 1.《C++程序設(shè)計(jì)》 作者:譚浩強(qiáng) 清華大學(xué)出版社</p><p> 2.《Visual C++程序設(shè)計(jì)技巧與實(shí)例》 作者:許福 舒志 張威 等 出版社:中國鐵道出版社</p><p> 3.《Visual C++全能速查寶典》作者:劉銳寧,梁水,宋坤 人民郵電出版社</p><p> 4.《C++語言程序設(shè)計(jì)題典》
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)----學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì) (4)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)delphi學(xué)生信息管理系統(tǒng)
- vfp課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)java課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)3
- java課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì) (3)
評(píng)論
0/150
提交評(píng)論