版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)題目:文 章 編 輯 學(xué)生姓名:程濤 專(zhuān) 業(yè):軟件電商班 級(jí):10211122 學(xué) 號(hào):1021112210 指導(dǎo)教師: 姜 林 2012年 6 月 9日一、 實(shí)驗(yàn)題目:文章編輯二、 實(shí)驗(yàn)地點(diǎn)、時(shí)間:地點(diǎn):軟件樓504時(shí)間:6月4日6月8日 三、 實(shí)驗(yàn)?zāi)康模罕菊n程設(shè)計(jì)的目的就是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,使同學(xué)們能夠根據(jù)數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,能把現(xiàn)實(shí)世界中的實(shí)際問(wèn)題在計(jì)算機(jī)內(nèi)部表示出來(lái),并培養(yǎng)基本的、良好的程序設(shè)計(jì)技能。四、 實(shí)驗(yàn)要求:1)、分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);2)、統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);3)、刪除某一子
2、串,并將后面的字符前移。存儲(chǔ)結(jié)構(gòu)使用線性表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能(要求用菜單選擇操作);輸入數(shù)據(jù)的形式和范圍:可以輸入大寫(xiě)、小寫(xiě)的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)。五、實(shí)驗(yàn)思路:1主要類(lèi)和函數(shù):定義了一個(gè)類(lèi)file()getdata1()/自動(dòng)調(diào)出已輸文章getdata2()/手動(dòng)輸入文章show_text() /分行輸出文章help() /程序指令集合count() /分別統(tǒng)計(jì)各類(lèi)字符總數(shù)count_str() /統(tǒng)計(jì)所查字符delete_str()/刪除特定字符main_work() /主體命令窗口2設(shè)計(jì)概要:是否手動(dòng)輸入文章選 擇進(jìn)行編輯統(tǒng)計(jì)字符總數(shù)刪除指定字符分行輸出文章統(tǒng)計(jì)指定
3、字符總數(shù)退 出否跳轉(zhuǎn)到指令窗口自動(dòng)調(diào)出已輸文章3部分程序截圖:4算法思想:定義一個(gè)類(lèi)file(),把要實(shí)現(xiàn)功能包含在這個(gè)類(lèi)中。定義一個(gè)字符數(shù)組,把文章保存到這個(gè)字符數(shù)組中。主要通過(guò)字符串的比較來(lái)實(shí)現(xiàn)字符的刪除、統(tǒng)計(jì)功能,用for循環(huán)進(jìn)行輸出。5程序代碼#include<iostream> using namespace std; const int n=800; class file private: char sn80; char filename30; char str90; int len; void getdata1(); void getdata2(); void get
4、data(); void show_text(); void count(); void count_str(); void delete_str(); void help(); public: file() memset(s,0,sizeof(s); cout<<" -您好, 歡迎使用文本編輯程序! -"<<endl<<endl; cout<<"="<<endl; cout<<"="<<endl; len = 0; void main_work();
5、 ; void file:getdata1()/自動(dòng)調(diào)出已輸文章 file *f1;char a;int i=0,j=0; f1=fopen("chengtao.txt","r"); len=0; memset(s,0,sizeof(s); while(a=getc(f1)!=eof) if(j=79) si+j=char(10);j=0; if(a!=char(10)sij+=a; else si+j=a; fclose(f1); len=i+1; void file:getdata2()/手動(dòng)輸入文章 file *f1; f1=fopen("
6、;chengtao.txt","w+"); char a;int i=0,j=0; while(a=getchar()!='#') if(j=79) si80=char(6);si+j=char(10);j=0;putc(char(10),f1); if(a!=char(10)sij+=a;putc(a,f1); else si+j=a;putc(a,f1); fclose(f1); len=i+1; void file:getdata() cout<<"您要手動(dòng)輸入么?y/n "if(getchar()='
7、y') getdata2(); else getdata1(); void file:show_text() /分行輸出文章 for(int i=0;i<len;i+) for(int j=0;j<80;j+) if(sij!='0') cout<<sij; cout<<endl; void file:help() /查看程序指令集合 cout<<" 請(qǐng)選擇操作指令"<<endl<<endl; cout<<"="<<endl; cout
8、<<"- 1 count : 分別統(tǒng)計(jì)各類(lèi)字符總數(shù) -"<<endl<<endl; cout<<"- 2 search: 統(tǒng)計(jì)所查字符 -"<<endl<<endl; cout<<"- 3 delete: 刪除特定字符 -"<<endl<<endl; cout<<"- 4 display:分行輸出文章 -"<<endl<<endl; cout<<"-
9、5 help: 查看程序指令集合 -"<<endl<<endl; cout<<"- 6 exit : 退出文本編輯程序 -"<<endl<<endl; cout<<"=" void file:count() /分別統(tǒng)計(jì)各類(lèi)字符總數(shù) int cc,cp,cn,co,sum; cc=cp=cn=co=sum=0; for(int i=0;i<len;i+) for(int j=0;j<80;j+) if(sij>='0'&&si
10、j<='9') cn+; if(sij>='a'&&sij<='z'|sij>='a'&&sij<='z') cc+; if(sij=' ') cp+; if(sij!='0')sum+; cout<<" 文章字符統(tǒng)計(jì)如下"<<endl<<endl; cout<<" 字母?jìng)€(gè)數(shù)為:"<<cc<<endl;cout&
11、lt;<" 空格個(gè)數(shù)為:"<<cp<<endl;cout<<" 數(shù)字個(gè)數(shù)為:"<<cn<<endl; cout<<" 文章總字?jǐn)?shù):"<<sum<<endl; void file:count_str() /統(tǒng)計(jì)所查字符 char str80,*p;int q,count=0; cout<<"請(qǐng)輸入一個(gè)字符子串:"<<endl; cin>>str; p=str; for(int i=
12、0;i<len;i+) for(int j=0;j<80;j+) q=j; while(*p!='0') if(*p=sij)j+;p+; else break; if(*p='0')count+; p=str; j=q; cout<<str<<" 在文章中的出現(xiàn)次數(shù)為: "<<count<<endl<<endl; void file:delete_str()/刪除特定字符 file *f1; f1=fopen("chengtao.txt","
13、;w+"); char str80,*p; int q,m; cin>>str; p=str; for(int i=0;i<len;i+) for(int j=0;j<80;j+) q=j; while(*p!='0') if(*p=sij) j+;p+;else break; m=j-q;if(*p='0') for(j=q;sij+m!='0'&&(j+m)<80;j+) sij=sij+m; sij='0' j=q-1; else j=q; p=str; for(i=0
14、;i<len;i+) for(int j=0;j<80;j+) if(sij!=char(10)&&si80!=char(6)&&sij!='0') putc(sij,f1); fclose(f1); getdata1(); cout<<"刪除字符"<<str<<"后的文本為:"<<endl<<endl;show_text(); void file:main_work() /主體命令窗口 char order10; getdata();
15、show_text(); cout<<endl; help(); cout<<endl<<"請(qǐng)輸入指令: " while(cin>>order) cout<<endl; if(strcmp(order, "6") = 0) return; if(strcmp(order, "1") = 0) count(); else if(strcmp(order, "2") = 0) count_str(); else if(strcmp(order, "3") = 0) delete_str(); else if(strcmp(order, "4") = 0) show_text(); else if(strcmp(order, "5") = 0) help(); else cout<<"指令錯(cuò)誤,請(qǐng)重新輸入"<<endl; cout&
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年客服工作計(jì)劃樣本(三篇)
- 2024年小學(xué)圖書(shū)室管理制度范例(二篇)
- 2024年學(xué)校宿管部工作計(jì)劃樣本(四篇)
- 2024年小學(xué)防溺水工作計(jì)劃樣本(三篇)
- 2024年平面設(shè)計(jì)師個(gè)人工作計(jì)劃例文(三篇)
- 2024年宣傳部規(guī)章制度樣本(四篇)
- 2024年大隊(duì)輔導(dǎo)員工作職責(zé)樣本(二篇)
- 2024年工會(huì)規(guī)范化建設(shè)細(xì)則范本(三篇)
- 2024年幼兒園家長(zhǎng)學(xué)校工作計(jì)劃范文(二篇)
- 【《奧克斯電器無(wú)形資產(chǎn)會(huì)計(jì)核算現(xiàn)狀分析》8600字】
- GB/T 15822.1-2024無(wú)損檢測(cè)磁粉檢測(cè)第1部分:總則
- 2024年反洗錢(qián)知識(shí)競(jìng)賽參考題庫(kù)400題(含答案)
- SLT824-2024 水利工程建設(shè)項(xiàng)目文件收集與歸檔規(guī)范
- 2024廣西專(zhuān)業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(100分)
- Yonyou U9 條碼操作手冊(cè)
- 公司領(lǐng)導(dǎo)干部調(diào)查研究制度
- 海水淡化反滲透裝置檢修維護(hù)說(shuō)明書(shū)
- 連續(xù)梁合攏方案
- 異辛酸鈉合成工藝及建設(shè)項(xiàng)目
- DB42∕T 1124-2015 城市園林綠化養(yǎng)護(hù)管理質(zhì)量標(biāo)準(zhǔn)
- 西電計(jì)組課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論