數(shù)據(jù)結構課程設計報告串的查找和替換_第1頁
數(shù)據(jù)結構課程設計報告串的查找和替換_第2頁
數(shù)據(jù)結構課程設計報告串的查找和替換_第3頁
數(shù)據(jù)結構課程設計報告串的查找和替換_第4頁
數(shù)據(jù)結構課程設計報告串的查找和替換_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、山東理工大學計算機學院課 程 設 計(數(shù)據(jù)結構)班 級姓 名學 號 指導教師二一一年一月二十日課程設計任務書及成績評定課題名稱串的查找和替換、題目的目的和要求: 1、設計目的鞏固和加深對數(shù)據(jù)結構的理解,通過上機實驗、調(diào)試程序,加深對課本知識的理解,最終使學生能夠熟練應用數(shù)據(jù)結構的知識寫程序。(1)通過本課程的學習,能熟練掌握幾種基本數(shù)據(jù)結構的基本操作。(2)能針對給定題目,選擇相應的數(shù)據(jù)結構,分析并設計算法,進而給出問題的正確求解過程并編寫代碼實現(xiàn)。2、設計題目要求:設計內(nèi)容:問題描述:打開一篇英文文章,在該文章中找出所有給定的單詞,然后對所有給定的單詞替換為另外一個單詞,再存盤。內(nèi)容要求:1

2、.根據(jù)題目要求進行需求分析,分析出該項任務的主要功能和設計重點。2.根據(jù)需求分析的內(nèi)容劃分模塊3利用vc+軟件進行程序設計并調(diào)試通過4.寫出課程設計說明書、設計進度及完成情況日 期內(nèi) 容1.10-1.11選取參考書,查閱有關文獻資料,完成資料搜集和系統(tǒng)分析工作。1.121.14創(chuàng)建相關數(shù)據(jù)結構,錄入源程序。1.171.19調(diào)試程序并記錄調(diào)試中的問題,初步完成課程設計報告。1.201.21上交課程設計報告打印版并進行課程設計答辯,要求每個同學針對自己的設計回答指導教師3-4個問題。考核結束后將課程設計報告和源程序的電子版交班長統(tǒng)一刻光盤上交。、主要參考文獻及資料 1 嚴蔚敏 數(shù)據(jù)結構(c語言版)

3、清華大學出版社 19992 嚴蔚敏 數(shù)據(jù)結構題集(c語言版)清華大學出版社 19993 譚浩強 c語言程序設計 清華大學出版社4 與所用編程環(huán)境相配套的c語言或c+相關的資料、成績評定:設計成績: (教師填寫)指導老師: (簽字)二一一 年 一 月 二 十一 日目 錄第一章 概述1第二章 系統(tǒng)分析2第三章 概要設計3第四章 詳細設計4第五章 運行與測試8第六章 總結與心得11參考文獻 12第一章 概述課程設計是實踐性教學中的一個重要環(huán)節(jié),它以某一課程為基礎,可以涉及和課程相關的各個方面,是一門獨立于課程之外的特殊課程。課程設計是讓同學們對所學的課程更全面的學習和應用,理解和掌握課程的相關知識。

4、數(shù)據(jù)結構是一門重要的專業(yè)基礎課,是計算機理論和應用的核心基礎課程。數(shù)據(jù)結構課程設計,要求學生在數(shù)據(jù)結構的邏輯特性和物理表示、數(shù)據(jù)結構的選擇和應用、算法的設計及其實現(xiàn)等方面,加深對課程基本內(nèi)容的理解。同時,在程序設計方法以及上機操作等基本技能和科學作風方面受到比較系統(tǒng)和嚴格的訓練。在這次的課程設計中我選擇的題目是串的查找和替換。該課程設計實現(xiàn)了對文件的查找和替換。我采用的數(shù)據(jù)結構是字符串數(shù)組,這樣操作起來比較方便,思路比較清晰。而如果采用指針則容易造成思路混亂,增加出錯的幾率。該課程設計可以實現(xiàn)對已打開文件的查找和替換,操作完畢關閉程序后,文件的內(nèi)容為修改后的內(nèi)容,實用性比較強。第二章 系統(tǒng)分析

5、一 功能分析該課程設計的功能主要實現(xiàn)串的查找與替換,首先打開一個文檔,對該文檔進行查找和替換,該課程設計的文檔中要包含替換后對文件保存的函數(shù)。以免造成替換后文件數(shù)據(jù)的丟失。串的查找和替換功能流程圖:串的查找串的替換二 主要函數(shù)及其功能initstr( )從文件初始化數(shù)組inputchatihuan( )從鍵盤輸入要替換的單詞charu(char source,int index,char dest)把要替換的單詞插入到被替換單詞的位置tihuans( )調(diào)用函數(shù)是實現(xiàn)替換第三章 概要設計1. 數(shù)據(jù)結構的設計本設計所采用的數(shù)據(jù)結構 數(shù)組 str500保存從文件中讀取的字符 chazhao15保存

6、被替換的單詞 tihuan15保存要替換的單詞采用數(shù)組操作便于數(shù)據(jù)分析,思路清晰,便于操作。2. 算法的設計(1)課程設計中首先要實現(xiàn)初始化數(shù)組。(2)為了能夠統(tǒng)計要查找的字符出現(xiàn)的次數(shù),需要建立能夠查找第一個出現(xiàn)要查找字符的下標的函數(shù)和要查看文章中共有多少個要查找的字符的函數(shù)。(3)建立能夠輸入要替換的字符串的函數(shù),該函數(shù)可以顯示要被替換的字符串和替換的字符串,這樣可使思路更為清晰。(4)建立能夠替換字符串的函數(shù),實現(xiàn)字符串替換的功能。(5)建立函數(shù)能夠實現(xiàn)替換后的字符串得以保存。第四章 詳細設計1、 設計每個成員函數(shù);/*數(shù)據(jù)結構:串的查找和替換 作者:趙延良*/#include#incl

7、ude#include#includefile * fp;char str500;char chazhao15;char tihuan15;/*從文件初始化數(shù)組*/void initstr()int i=0;fp=fopen(string.txt,rt);/*重新打開文件*/if(fp!=null) do fscanf(fp,%c,&stri); i+; while(!feof(fp) ; fclose(fp);/*查找第一個出現(xiàn)要查找字符的下標*/int chazhaostring() int i,j,k; for(i=0;istrlen(str);i+) j=i;k=0; while(st

8、rj=chazhaok)&(chazhaok!=0)&(strj!=0) j+;k+; if(chazhaok=0) return i; return -1;/*輸入要替換的字符串*/void inputchatihuan() printf(please input chaozhao string:n); scanf(%s,chazhao); printf(please input tihuan string:n); scanf(%s,tihuan); getchar();/*查看文章中共有多少個要查找的字符*/void chazhaos() int i,j,k,all=0; printf(p

9、lease input chaozhao string:n); scanf(%s,chazhao); for(i=0;i=index) sourcei=sourcem; i-;m-; i=index; m=0;while(mj)sourcei=destm;i+;m+;/*將str中要替換的內(nèi)容替換掉*/void tihuans() int a,b=0; inputchatihuan(); do a=chazhaostring(); b=a; if(b=-1) printf(the word doesnt exit!n); return; else while(strb+strlen(chazh

10、ao)!=0) strb=strb+strlen(chazhao); b+; strb=0; charu(str,a,tihuan); a=chazhaostring(); while(a!=-1); printf(tian huan succeedn); printf(npress anykey return.); getchar();/*保存修改后的文章信息*/void save() int i=0; file *fp; fp=fopen(string.txt,w); while(istrlen(str) fputc(stri,fp); i+; void welform() system(

11、cls); printf( system main menu n); printf(*n); printf(* 1: 輸出內(nèi)容 *n); printf(*-*n); printf(* 2: 查找 *n); printf(*-*n); printf(* 3: 替換 *n); printf(*-*n); printf(* 0: 退出 *n); printf(*n); printf(nnplease input order:n);2.設計主函數(shù);void main() char ch;initstr(); while(1) welform(); scanf(%d,&ch); switch(ch) c

12、ase 1:system(cls);printf(%sn,str);getchar();getchar();break; case 2:system(cls);chazhaos();break; case 3:system(cls);tihuans();break; case 0:save(); exit(0); default: printf(nyou hava input the wrong order!n);printf(press anykey return.);getchar();getchar(); 第五章 運行與測試運行測試首先進入界面:顯示文件輸出內(nèi)容:顯示查找內(nèi)容界面顯示替換

13、內(nèi)容界面:退出界面按任意鍵即可退出在調(diào)試程序中我遇到了一些問題,主要內(nèi)容如下:(2)在源代碼中,如果子函數(shù)放在主函數(shù)之后,需要先對子函數(shù)聲明。為使源代碼更為簡潔,我將子函數(shù)放在主函數(shù)前面。這樣可以使程序更為簡潔,思路更加清晰。(1)打開的文件中,要替換文件的內(nèi)容,只有當執(zhí)行完替換后,并且能夠完全退出可執(zhí)行程序時,內(nèi)容才可以完全替換。第六章 總結與心得兩周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在課程設計過程中,我一開始對自己如何完成一個獨立的數(shù)據(jù)結構茫然不知所措,通過向老師和同學們請教,我逐步的了解了如何

14、完成這次課程設計,并且提高了我對串的操作的熟練程度。 課程設計是我們專業(yè)課程知識綜合應用的實踐訓練,是我們邁向社會,從事職業(yè)工作前一個必不少的過程”千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎在這次數(shù)據(jù)結構課程設計過程中,體現(xiàn)出自己單獨完成問題的能力以及綜合運用知識的能力,體會了學以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學習的不足和薄弱環(huán)節(jié),從而加以彌補。在此我十分感謝我的老師,在他們的指導下,我克服了在課程設計過程中許多的難題與不足,使我能夠熟練的掌握了關于串的有關操作。 由于我的設計能力有限,在設計過程中難免出現(xiàn)錯誤,懇請老師們多多指教,我十分

溫馨提示

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

評論

0/150

提交評論