C文章編輯數(shù)據(jù)結(jié)構(gòu)報(bào)告_第1頁(yè)
C文章編輯數(shù)據(jù)結(jié)構(gòu)報(bào)告_第2頁(yè)
C文章編輯數(shù)據(jù)結(jié)構(gòu)報(bào)告_第3頁(yè)
C文章編輯數(shù)據(jù)結(jié)構(gòu)報(bào)告_第4頁(yè)
C文章編輯數(shù)據(jù)結(jié)構(gòu)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論