C數(shù)據(jù)結(jié)構(gòu)——串_第1頁
C數(shù)據(jù)結(jié)構(gòu)——串_第2頁
C數(shù)據(jù)結(jié)構(gòu)——串_第3頁
C數(shù)據(jù)結(jié)構(gòu)——串_第4頁
C數(shù)據(jù)結(jié)構(gòu)——串_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北京郵電大學(xué)世紀(jì)學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告 系別: 計算機系 專業(yè): 計算機科學(xué)與技術(shù) 姓名: 學(xué)號: 指導(dǎo)老師: 2010年1月14日目錄一、課題名稱:串的查找和替換1二、課題來源:課程組自擬1三、課題類型:串13.1 數(shù)據(jù)結(jié)構(gòu)1四、目的意義:1掌握各種串的算法(串的查找、替換)的思路核心1全面提高學(xué)生的程序設(shè)計、開發(fā)能力1五、基本要求:1任意性:對文章內(nèi)的任意合法單詞進(jìn)行查找,替換1可讀性:源程序代碼清晰、有層次1健壯性:用戶輸入非法數(shù)據(jù)時,系統(tǒng)要及時給出警告信息1對所有給定的單詞替換為另外一個單詞,再存盤。1七.課程設(shè)計步驟簡介37.1 核心算法37.1.1 初始化:37.1.2 閱讀文章

2、3查找單詞:3替換單詞4各模塊實現(xiàn)函數(shù)57.3 運行環(huán)境5流程圖6八、運行結(jié)果7九.本次課程設(shè)計的優(yōu)劣自評10十課程設(shè)計所感10十一、參考文獻(xiàn)11一、課題名稱:串的查找和替換二、課題來源:課程組自擬三、課題類型:串3.1 數(shù)據(jù)結(jié)構(gòu)本程序采用串的數(shù)據(jù)結(jié)構(gòu),四、目的意義:掌握各種串的算法(串的查找、替換)的思路核心全面提高學(xué)生的程序設(shè)計、開發(fā)能力五、基本要求:5.1任意性:對文章內(nèi)的任意合法單詞進(jìn)行查找,替換5.2可讀性:源程序代碼清晰、有層次5.3健壯性:用戶輸入非法數(shù)據(jù)時,系統(tǒng)要及時給出警告信息5.4對所有給定的單詞替換為另外一個單詞,再存盤。六流程圖及時間安排串的查找和替換閱讀文章查找替換保

3、存圖6-1 功能圖日期任務(wù)第1天向?qū)W生講解題目,說明題目中所涉及的相關(guān)知識點. 規(guī)劃整個程序,對任務(wù)進(jìn)行劃分,列出程序整體思路第2天規(guī)劃整個程序,對任務(wù)進(jìn)行劃分,列出程序整體思路第3天實現(xiàn)程序的框架代碼第4天實現(xiàn)功能點:1.初始化;2.單詞查找;第5天第6天程序調(diào)試第7天總結(jié)和報告整理七.課程設(shè)計步驟簡介7.1 核心算法 初始化:#include<stdio.h>#include<stdlib.h>#include<string.h>FILE* fp; /*聲明fp是指針,用來指向FILE類型的對象*/char str500; /*定義一個字符型數(shù)組str*

4、/char chazhao500; /*定義一個字符型數(shù)組chazhao*/char tihuan500; /*定義一個字符型數(shù)組tihuan*/*從文件初始化數(shù)組*/7.1.2 閱讀文章void initstr()int i=0; /*定義變量i*/fp=fopen("string.txt","r"); /*重新打開文件*/while(!feof(fp) /*循環(huán)語句*/stri=fgetc(fp); /*從文件中讀取字符*/i+; /*執(zhí)行時,先使用的i的值,再將i的值加*/7.1.3查找單詞:void chazhaos() int i,j,k,al

5、l=0; /*定義整型變量i,j,k,all all的值為*/ printf("請輸入查找內(nèi)容:n"); /*輸入提示語*/ scanf("%s",chazhao); /*輸入查找內(nèi)容*/ for(i=0;i<strlen(str);i+) j=i;k=0; while(strj=chazhaok)&&(chazhaok!='0')&&(strj!='0') j+;k+; /*執(zhí)行時,先使用j,k的值,再將j,k的值加*/ if(chazhaok='0') all+;

6、/*每當(dāng)發(fā)現(xiàn)查找內(nèi)容,all的值就增加*/替換單詞void tihuans() int a,b=0; /*定義整型變量a,b b的值為*/ inputchatihuan(); do a=chazhaostring(); b=a; if(b=-1) printf("查找字符不存在!n"); return; /*需要修改內(nèi)容未搜索到函數(shù)結(jié)束*/ else while(strb+strlen(chazhao)!='0') strb=strb+strlen(chazhao); b+; strb='0' charu(str,a,tihuan); a=c

7、hazhaostring(); while(a!=-1);各模塊實現(xiàn)函數(shù)打開文章void initstr()單詞查找int chazhaostring()void chazhaos()單詞替換void charu(char source,int index,char dest)void tihuans()文章存儲void save()主函數(shù)void main()菜單void caidan()void inputchatihuan()7.3 運行環(huán)境1本次課程設(shè)計我采用的開發(fā)環(huán)境為了: VC+2008 win32控制臺應(yīng)用程序2首先將文件建立為“.cpp”程序,在編譯通過后成為可執(zhí)行的“.exe

8、”程序3最終達(dá)到可運行的程度7.4流程圖主菜單打開文章功能一:搜索功能二:替換存儲結(jié)束未搜索到開始結(jié)果顯示八、運行結(jié)果1、 本次課程設(shè)計完全達(dá)到了設(shè)計要求。而且在此基礎(chǔ)上還進(jìn)行了相當(dāng)?shù)臄U(kuò)充與完善。 首先,我在所要求的四個排序算法的比較外還增加了合并排序和二分插入排序算法一起參與比較。同時我采用了靈活的數(shù)據(jù)選擇策略,可以靈活的改變排序的規(guī)模。本次課程設(shè)計我還用線程技術(shù)實現(xiàn)了一個時鐘,放在第一個界面的標(biāo)題下。 不過,本次課程設(shè)計由于時間倉促,加之考試在即,所以一步步描繪排序算法的執(zhí)行過程沒有完成。要視那個完成了我相信對排序算法會有更深一層的理解。不過很遺憾!十課程設(shè)計所感1做任何事情我決定都應(yīng)該有個總體規(guī)劃。之后的工作按照規(guī)劃逐步展開完成。寫程序是這樣,做項目是這樣,過我們的生活也應(yīng)該這樣。2就拿這個排序算法來說,沒有一個是絕對最佳的,哪個是絕對最差的。我們要根據(jù)具體情況

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論