




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目 錄一、設計目的5二、設計內容5三、設計要求5四、主要數據結構與算法61、主要數據結構61.1主要數據結構61.2 程序流程圖62、主要算法設計72.1 輸入文本72.2 輸出文本82.3輸出刪除某一字符串后的文章82.4統計某個字符串在文章中出現的次數9五、調試與分析101、菜單主界面102、輸入函數103、輸出文本114、統計文字、數字、空格的個數115、統計某個字符串在文章中出現的次數116、輸出刪除某一字符串后的文章12六、總結13七、參考文獻13八、程序清單14課程設計(大作業)報告一、設計目的熟練使用 C語言實現文章編輯。二、設計內容靜態存儲一頁文章,統計出文字、數字、空格的個數
2、。三、設計要求1、分別統計出其中英文字母數和空格數及整篇文章總字數;2、統計某一字符串在文章中出現的次數,并輸出該次數;3、刪除某一子串,并將后面的字符前移。4、實現功能:分行輸出用戶輸入的各行字符;分4行輸出“全部字母數”、“數字個數”、“空格個數”、“文章總字數”輸出刪除某一字符串后的文章。四、主要數據結構與算法1、主要數據結構1.1主要數據結構函 數 名實 現 功 能typedef struct DataType aMAXSIZE; int length;Article; 定義串的靜態存儲分配結構void input(Article *s)輸入文本void ptint(Article *
3、s) 輸出文本void letter_number(Article *s)輸出全部字母個數void space_number(Article *s) 輸出全部空格個數void digit_number(Article *s) 輸出全部數字總數void size_number(Article *s) 輸出文章總字數void dele_print(Article *p,Article *s)輸出刪除某一字符串后的文章void Counter(Article *p,Article *s) 統計某個字符串在文章中出現的次數 表1 主要數據結構1.2 程序流程圖 圖1 程序流程圖2、主要算法設計2.1
4、輸入文本輸入一段文本,當輸入的文本是回車符(“n”)時,將輸入的文本最后一個字符賦成字符串的結束符0,然后修改輸入文本的長度。void input(Article *s) /*輸入文本*/int i;s-length=0;for(i=0;iai);s-length+;if(s-ai=n) s-ai=0;s-length-; break;2.2 輸出文本將輸入的文本,如果輸入文本的長度為0,則以錯誤提示出現在屏幕上,若長度不為0,則以每行顯示80個字符的格式輸出在屏幕上。void ptint(Article *s) /*輸出文本*/int i,j=0;if(!s-length) printf(n
5、錯誤!);elsefor(i=0;ilength;i+)printf(%c,s-ai);j+;if(j%80=0) printf(n);2.3輸出刪除某一字符串后的文章 此函數用到了串的簡單模式匹配,即:設置一個標記succ,當正文串s與模式串匹配成功時,標記succ=1;當正文串s與模式串匹配不成功時,succ=0。最后根據標記的值來判斷時候找到匹配的子串,最終實現刪除操作。void dele_print(Article *p,Article *s) /*輸出刪除某一字符串后的文章*/int i,j,succ,flag=1;i=0;while(ilength-p-length+1)j=0;s
6、ucc=1; /*用j掃描模式p*/while(jlength-1) & succ)if(p-aj=s-ai+j) j+;else succ=0;if(j=p-length) flag=0;if(!succ)printf(%c,s-ai);else i=i+p-length-1;i+;printf(%sn,s-a+i);if(flag=1)printf(但找不到要刪除的字符串!);2.4統計某個字符串在文章中出現的次數此函數也用到了串的簡單模式匹配,即:設置一個標記succ,當正文串s與模式串匹配成功時,標記succ=1;當正文串s與模式串匹配不成功時,succ=0。最后根據標記的值來判斷時候
7、找到匹配的子串。設置一個計數標記k,當匹配成功時,將匹配的結果記錄保存下來后,最后輸出統計特殊字符串出現的次數。void Counter(Article *p,Article *s) /*統計某個字符串在文章中出現的次數*/int i,j,succ,k=0;i=0;while(ilength-p-length+1)j=0;succ=1; while(jlength-1) & succ)if(p-aj=s-ai+j) j+;else succ=0;if(succ) k+;i=i+p-length-1;i+;if (k0)printf(n該字符串在文章中出現的次數為:%d次n,k);五、調試與分析
8、1、菜單主界面 圖2 主界面2、輸入函數由于程序的功能的不足,雖然可以輸入中文,但是不能夠統計中文字符的個數。 圖3 輸入文本3、輸出文本在輸入一段文本之后的顯示輸出文本如下圖所示,每行最多輸入80個字符。 圖4 輸出文本 4、統計文字、數字、空格的個數 圖5 統計文字、數字、空格的個數5、統計某個字符串在文章中出現的次數圖6 統計某個字符串在文章中出現的次數6、輸出刪除某一字符串后的文章 由于程序不夠完善,不能進行連續的刪除操作,只能進行一次刪除操作后再返回主菜單,繼續調用刪除函數時,不能夠接著第一次刪除操作后得到的結果再刪除字符串,運行結果如圖8所示。同時在輸出文章中沒有出現過的字符串時,
9、由于程序功能的欠缺,程序功能還是會將原文章打印出來。不能很有效地提示刪除不成功,或者提示重新輸入之類的提示語。運行結果如圖9所示。 圖7 刪除某一字符串后顯示的文章圖8 刪除功能缺點一 圖9 刪除功能缺點二 六、總結通過五天的課程設計的內容,我完成了文章編輯題目的設計。但是程序還不夠完善,因為有些功能還是不能夠實現。例如:在執行菜單時,第一次選擇刪除刪除特殊字符串的操作時,特殊字符串被刪除了后,又返回主菜單,繼續再選擇刪除功能時,第一次被刪除后得到的結果,繼續再刪除就不能進行了。在設計過程中,設計刪除函數時,其中用到串的模式匹配,在匹配時出現了錯誤,導致程序一直不能執行下去,通過老師和同學的幫
10、助下,也一一解決了,同時也鍛煉了調試程序的能力。還有在用指針時,沒開辟存儲空間,程序也不能執行。但是通過這次的課程設計,加強了我的動手、思考和解決問題的能力。設計的結果固然重要,但是設計過程更為重要,在這次的作業中,我學到了很多的東西,也積累了關于做這樣的課程設計的一些經驗。通過這一次的課程設計,讓我對數據結構以及其課程設計的知識也有了更深的理解和認識。所以,我們在理解書本知識的同時,應該盡可能多做一些算法題,提高自己分析問題和解決問題的能力,這也是學習這門課程最終的目的。七、參考文獻1王震江,何英,吳紹兵.數據結構.云南:云南大學出版社,20082譚浩強.C程序設計(第四版). 北京:清華大
11、學出版社,20103王愛民,李杰,羅穎.數據結構(C語言描述).北京:清華大學出版社,2011八、程序清單#include #include #include #include #include #define MAXSIZE 1000typedef char DataType;typedef struct DataType strMAXSIZE;int length;Article;Article *s,*p,*t,*m;void input(Article *s) /*輸入文本*/int i;s-length=0;for(i=0;istri);s-length+;if(s-stri=n)
12、s-stri=0;s-length-; break;void ptint(Article *s) /*輸出文本*/int i,j=0;if(!s-length) printf(n錯誤!);elsefor(i=0;ilength;i+)printf(%c,s-stri);j+;if(j%80=0) printf(n);void letter_number(Article *s) /*全部字母個數*/int i,j=0;if(!s-length)printf(n錯誤!);elsefor(i=0;ilength;i+)if(s-stri=a& s-stristri=A& s-strilength)
13、printf(n錯誤!);elsefor(i=0;ilength;i+)if(s-stri= )j+;printf(%d,j);void digit_number(Article *s) /*全部數字總數*/int i,j=0;if(!s-length) printf(n錯誤!);elsefor(i=0;ilength;i+)if(s-stri=0& s-strilength);void dele_print(Article *p,Article *s) /*輸出刪除某一字符串后的文章*/int i,j,succ,flag=1;i=0;while(ilength-p-length+1)j=0;
14、succ=1; /*用j掃描模式p*/while(jlength-1) & succ)if(p-strj=s-stri+j) j+;else succ=0;if(j=p-length) flag=0;if(!succ)printf(%c,s-stri);else i=i+p-length-1;i+;printf(%sn,s-str+i);if(flag=1)printf(但找不到要刪除的字符串!);void Counter(Article *p,Article *s) /*統計某個字符串在文章中出現的次數*/int i,j,succ,k=0;i=0;while(ilength-p-length
15、+1)j=0;succ=1; while(jlength-1) & succ)if(p-strj=s-stri+j) j+;else succ=0;if(succ) k+;i=i+p-length-1;i+;if (k0)printf(n該字符串在文章中出現的次數為:%d次n,k);void main()char n;Article *s,*t,*m;system( color 3F);printf(tn); printf(t* 設計題目:文章編輯 *n);printf(t*n);printf(t* 昆明學院 信息技術學院 *n);printf(t*n);printf(t* 2011級計科2班
16、 楊鑠 4 *n);printf(t*n);printf(tn); system(PAUSE);system(cls);system(color 3f);printf( 菜單列表 n);printf(tn);printf(t*n);printf(t* * *n);printf(t* 0.退出 * 1.輸入一段文字 *n);printf(t* * *n);printf(t*n);printf(t* * *n);printf(t* 2.顯示輸入的文字 * 3.統計字母、數字、空格 *n);printf(t* * *n);printf(t*n);printf(t* * *n);printf(t* 4
17、.統計特殊字符串出現頻率 * 5.刪除某一特殊字符串 *n);printf(t* * *n);printf(t*n);printf(tn);while (n=0)&(n=1)&(n=2)&(n=3)&(n=4)&(n=5)printf(n請選擇你需要操作的步驟(05):);fflush(stdin);scanf(%s,&n);fflush(stdin);switch(n)case 0:exit(0); case 1:s=(Article *)malloc(sizeof(Article);printf(請輸入一段文字:);input(s);break;case 2:printf(n文本錄入完畢!輸出的文本為:n);ptint(s); break;case 3:printf(n全部字母個數為:);letter_number(s);printf(n全部空格個數為:);space_number(s); printf(n全部數字個數為:);digi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/ZRCX 004-2018集成灶
- T/ZHCA 105-2022靈芝子實體
- 2024-2025學年廣東省深圳高級中學八年級(下)期中歷史試卷
- T/ZBH 023-2023建筑外裝飾用琉璃板
- 遼寧沈陽副食集團所屬子公司招聘筆試題庫2025
- 能建河南城市建設工程有限公司招聘筆試題庫2025
- 2025年語音識別與合成技術考試試題及答案
- 2025年組織行為與團隊建設知識考試試題及答案
- 2025年文物保護與管理考試試題及答案
- 2025年心理健康教育課程結業考試試卷及答案
- GA/T 952-2011法庭科學機動車發動機號碼和車架號碼檢驗規程
- 大壩安全監測培訓課件
- DB37-T 3449-2019山東省金屬非金屬地下礦山通風技術規范
- 高等數學上冊ppt課件完整版
- 華為WLAN解決方案
- 電力建設熱工熱控作業指導書
- 迪奧品牌分析通用PPT課件
- 四川危險廢物經營許可證申請書
- microRNA研究 ppt課件
- 甲醇及制氫裝置預試車方案
- 分子的立體構型
評論
0/150
提交評論