文章編輯課程設(shè)計報告及代碼_第1頁
文章編輯課程設(shè)計報告及代碼_第2頁
文章編輯課程設(shè)計報告及代碼_第3頁
文章編輯課程設(shè)計報告及代碼_第4頁
文章編輯課程設(shè)計報告及代碼_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

*****工學(xué)院數(shù)據(jù)構(gòu)造課程設(shè)計報告選題名稱:文章編輯系〔院〕:***工程學(xué)院 專業(yè): 班級: 姓名:**學(xué)號: 指導(dǎo)教師: 學(xué)年學(xué)期: 2021~2021學(xué)年第2學(xué)期 2010 年 6 月

設(shè)計任務(wù)書課題名稱文章編輯設(shè)計目的隨著社會的高速開展,現(xiàn)在人們對信息的處理要求越來越高,設(shè)計此程序,以方便人們快速的處理信息文字,提高工作效率,從而適應(yīng)快速的社會開展步伐實驗環(huán)境Windows2000以上操作系統(tǒng)以上編譯環(huán)境任務(wù)要求功能:靜態(tài)存儲一頁文章,每行最多不超過80個字符,共N行;具有如下作用:(1〕分別統(tǒng)計出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);〔2〕統(tǒng)計某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);〔3〕刪除某一子串,并將后面的字符前移。工作進(jìn)度方案序號起止日期工作內(nèi)容16月14日~15日查找資料,設(shè)計程序26月16日~17日完善程序,做辯論PPT36月18日完成設(shè)計,課題辯論46月19日~20日完成報告指導(dǎo)教師:年月日摘要:隨著社會的高速開展,現(xiàn)在人們對信息的處理要求越來越高,使得文章內(nèi)容、數(shù)量也越變龐大,所以,隨之而來的就是對文章的處理變得越來越復(fù)雜。設(shè)計此程序以方便人們對文章的處理。此程序的功能有查找文章中某個字符串出現(xiàn)的次數(shù),統(tǒng)計文章中數(shù)字,字母,空格等信息出現(xiàn)的次數(shù),分行顯示用戶輸入的文章,輸入一字符串并刪除文章中所有該字符串,最后,此程序功能簡單,操作方便,所以,試驗證明,本程序是一款很實用的程序。關(guān)鍵字:文章編輯;字符查找;統(tǒng)計;刪除目錄TOC\o"1-2"\u1需求分析 12概要設(shè)計 1主要模塊的描述 1程序流程框圖如圖1所示 2各功能函數(shù)描述 23詳細(xì)設(shè)計和實現(xiàn) 3存儲構(gòu)造設(shè)計 3主要算法設(shè)計 3程序運行流程說明 44調(diào)試與操作說明 41需求分析這一次數(shù)據(jù)構(gòu)造課程設(shè)計,我做的課題是文章編輯。任務(wù)與要求包括:輸入一頁文字,程序可以統(tǒng)計出文字、數(shù)字、空格的個數(shù)。靜態(tài)存儲一頁文章,每行最多不超過80個字符,共N行;要求:〔1〕分別統(tǒng)計出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);〔2〕統(tǒng)計某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);〔3〕刪除某一子串,并將后面的字符前移。存儲構(gòu)造使用線性表,分別用幾個子函數(shù)實現(xiàn)相應(yīng)的功能;voidInitList(wzbj*L)//查找文章結(jié)尾有無完畢符“#〞voidStrNo(wzbj*L)//統(tǒng)計某一字符串出現(xiàn)的次數(shù)wzbj*DelStr(wzbj*L)//刪除某一字段voidprint1(wzbj*L)//分行輸出用戶的輸入的各行字符voidprint2(wzbj*L,int&p1,int&p2,int&p3,int&n)//統(tǒng)計字符信息輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、小寫的英文字母、任何數(shù)字及標(biāo)點符號。輸出形式:〔1〕分行輸出用戶輸入的各行字符;〔2〕分4行輸出"全部字母數(shù)"、"數(shù)字個數(shù)"、"空格個數(shù)"、"文章總字?jǐn)?shù)"〔3〕輸出刪除某一字符串后的文章;運行環(huán)境包括:Windows2000以上操作系統(tǒng)、VisualC++6.0以上編譯環(huán)境。2概要設(shè)計對于文章的處理,我用的是for語句查找,即將符合條件的字符查找出來,然后通過函數(shù)實現(xiàn)字符的統(tǒng)計,刪除等操作。同時,存儲用線性表的鏈表構(gòu)造,然后通過設(shè)計四個函數(shù),實現(xiàn)設(shè)計要求的4個根本功能。 while(L->next)for(p=L,q=s;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')n++; L=L->next;將鏈表指針指向輸入的字符串開場字符,和文章中字符的首位,然后使用循環(huán)語句,將字符串的每一個字符依次比擬,判斷一樣的字符,以便實現(xiàn)其他的查找,統(tǒng)計,刪除等功能。2.2程序流程框圖如圖1所示輸入文章,確定操作輸入文章,確定操作選擇選擇進(jìn)展編輯否進(jìn)展編輯否退出退出是是完成退出完成退出圖1流程圖本次設(shè)計共分為四個函數(shù),分別實現(xiàn)四個功能:分行輸出用戶的輸入的各行字符,函數(shù)為:voidprint1(wzbj*L);文章中的字符數(shù),空格數(shù),數(shù)字等統(tǒng)計,函數(shù)為:voidprint2(wzbj*L,int&p1,int&p2,int&p3,int&n);字符串刪除,函數(shù)為:wzbj*DelStr(wzbj*L);統(tǒng)計某一字符串出現(xiàn)的次數(shù),函數(shù)為:voidStrNo(wzbj*L)3詳細(xì)設(shè)計和實現(xiàn)線性表是最根本、最簡單、也是最常用的一種數(shù)據(jù)構(gòu)造。線性表中數(shù)據(jù)元素之間的關(guān)系是一對一的關(guān)系,即除了第一個和最后一個數(shù)據(jù)元素之外,其它數(shù)據(jù)元素都是首尾相接的。線性表的邏輯構(gòu)造簡單,便于實現(xiàn)和操作。因此,線性表這種數(shù)據(jù)構(gòu)造在實際應(yīng)用中是廣泛采用的一種數(shù)據(jù)構(gòu)造。在實現(xiàn)線性表數(shù)據(jù)元素的存儲方面,一般可用順序存儲構(gòu)造和鏈?zhǔn)酱鎯?gòu)造兩種方法。本程序中采用鏈?zhǔn)酱鎯?gòu)造。3.2主要算法設(shè)計本課程設(shè)計中用指針鏈表,配合循環(huán)語句,完成字符串比擬功能,從而完成統(tǒng)計字符串,刪除字符串,統(tǒng)計字符信息的功能。字符串刪除:如果,輸入字符的第一個字母與文本中的元字符有一樣的時候,執(zhí)行第一個for循環(huán)語句,對原文中的字符依次和輸入的字符串比擬,有不一樣的跳出,如果完全一樣,則將P指針給H指針,從而到達(dá)刪除的作用。然后,進(jìn)展上述操作,完成刪除操作。wzbj*DelStr(wzbj*L)//刪除某一字段 wzbj*H=L; chars[80],*q; wzbj*p; cout<<"輸入一子串:"; cin>>s; if(H->wz==*s){ for(p=H->next,q=s+1;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')H=p;//刪除 while(L->next){ for(p=L->next,q=s;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')L->next=p; elseL=L->next; returnH;統(tǒng)計某一字符,操作也是如此,兩個字符比擬,如果發(fā)現(xiàn)字符一樣時統(tǒng)計數(shù)字N就加1

函數(shù)為:voidStrNo(wzbj*L)//統(tǒng)計某一字符串出現(xiàn)的次數(shù) intn=0; chars[80],*q; wzbj*p; cout<<"輸入一字符串:"; cin>>s; while(L->next){ for(p=L,q=s;*q!='\0'&&p->next;p=p->next,q++) if(p->wz!=*q)break; if(*q=='\0')n++; L=L->next; cout<<"字符串"<<s<<"出現(xiàn)"<<n<<"次\n";統(tǒng)計字符信息用循環(huán)語句,如果有信息符合就讓統(tǒng)計數(shù)字疊加,最后得出統(tǒng)計的字符數(shù)。

函數(shù)為:voidprint2(wzbj*L,int&p1,int&p2,int&p3,int&n)//統(tǒng)計字符信息{n=p1=p2=p3=0; for(;L->next;L=L->next,n++) if(isalpha(L->wz))p1++; elseif(isdigit(L->wz))p2++;//統(tǒng)計數(shù)字 elseif(L->wz!='\n')p3++;//統(tǒng)計空格 elseif(L->wz=='\n')n--;//統(tǒng)計文章總字?jǐn)?shù) cout<<"\n全部字母數(shù):"<<p1; cout<<"\n數(shù)字個數(shù):"<<p2; cout<<"\n空格個數(shù):"<<p3; cout<<"\n文章總字?jǐn)?shù):"<<n<<endl;同時在其中引用了兩個函數(shù)進(jìn)展數(shù)字和字符的統(tǒng)計,分別為

isalphaisdigit程序運行時首先從主函數(shù)開場,先判斷選擇的操作。然后根據(jù)要求進(jìn)展相應(yīng)的查找、刪除、統(tǒng)計、顯示等操作,一次操作完之后,會回到開場的選擇界面,用戶可重新選擇操作,如果用戶選擇退出,程序就停頓。4調(diào)試與操作說明首先,在程序中輸入一段文字,以“#〞符做結(jié)尾。按回車enter顯示選擇操作,便實現(xiàn)統(tǒng)計這段文字中英文字符,空格,數(shù)字,和文章總字?jǐn)?shù)的功能,如下列圖4-1和4-2所示:圖4-1圖4-2接著,選擇1—回車enter出現(xiàn)文章中全部字母數(shù)、數(shù)字個數(shù)、空格個數(shù)及文章總字?jǐn)?shù),如下列圖4-3所示:圖4-3按選擇2—回車enter輸入一字符串:you統(tǒng)計其在文章中出現(xiàn)的次數(shù),如圖4-4所示:圖4-4對文字的輸出處理,按選擇4—回車enter分行顯示用戶輸入的各行字符,如下列圖4-5所示:圖4-5按選擇3—回車enter實現(xiàn)對輸入的某一子串進(jìn)展刪除并將其后面字符前移,輸出刪除后的文章,如下列圖4—6所示:圖4-6按選擇0—回車enter出現(xiàn)Pressanykeytocontinue完畢程序圖4-7總結(jié)致謝參考文獻(xiàn)1蘇仕華.數(shù)據(jù)構(gòu)造課程設(shè)計.北京:機械工業(yè)出版社,20052王紅梅,胡明,王濤,數(shù)據(jù)構(gòu)造(C++版)學(xué)習(xí)輔導(dǎo)與實驗指導(dǎo).北京:清華大學(xué)出版社,20053數(shù)據(jù)構(gòu)造〔用面向?qū)ο蠓椒ㄅcC++語言描述〕4丁有和,鄭進(jìn),周怡君.VC++實用教程〔第3版〕.北京:電子工業(yè)出版社,20075于永彥,王志堅,婁淵勝.C++程序設(shè)計根底案例教程.北京:北京大學(xué)出版社,20216AdamDrozdek.數(shù)據(jù)構(gòu)造與算法,北京:清華大學(xué)出版社,2006

指導(dǎo)教師評語學(xué)號姓名班級選題名稱文章編輯序號評價內(nèi)容權(quán)重〔%〕得分1考勤記錄、學(xué)習(xí)態(tài)度、工作作風(fēng)與表現(xiàn)。52自學(xué)情況:上網(wǎng)檢索機時數(shù)、文獻(xiàn)閱讀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論