九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告—文本編輯器(共27頁(yè))

  • 資源ID:46403735       資源大?。?span id="24d9guoke414" class="font-tahoma">937.50KB        全文頁(yè)數(shù):27頁(yè)
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告—文本編輯器(共27頁(yè))

精選優(yōu)質(zhì)文檔-傾情為你奉上學(xué)號(hào)2014-2015學(xué)年 第一學(xué)期數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告題目:基于順序結(jié)構(gòu)的文本編輯器的設(shè)計(jì)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):姓名:學(xué)號(hào):指導(dǎo)教師:成績(jī):目錄1課程設(shè)計(jì)內(nèi)容.11.1 設(shè)計(jì)內(nèi)容.11.2 設(shè)計(jì)任務(wù).11.3 具體要求.12 概要設(shè)計(jì).12.1 系統(tǒng)的功能簡(jiǎn)介.12.2 各個(gè)模塊之間的主要關(guān)系.23 設(shè)計(jì)過(guò)程及代碼分析.24 設(shè)計(jì)結(jié)果與分析.155 源程序.166 總結(jié).247 致謝.248 參考文獻(xiàn).25專心-專注-專業(yè)1 課程設(shè)計(jì)內(nèi)容 1.1 設(shè)計(jì)內(nèi)容 文本編輯器主要根據(jù)課程設(shè)計(jì)要求進(jìn)行設(shè)計(jì)的,本次課程設(shè)計(jì)的內(nèi)容及要求是設(shè)計(jì)一個(gè)文本編輯器,能實(shí)現(xiàn)文本內(nèi)容輸入、顯示、統(tǒng)計(jì)、處理、保存和退出文本編輯器等基本功能,主界面具有圖形菜單界面、輸入文本、打開文件、顯示當(dāng)前文本內(nèi)容、進(jìn)入文本內(nèi)容統(tǒng)計(jì)菜單、進(jìn)入文本內(nèi)容處理菜單、保存、退出文本編輯器。 其中文本內(nèi)容統(tǒng)計(jì)菜單包含大小寫字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、空格、所有字符的統(tǒng)計(jì);文本內(nèi)容處理菜單包含查找、刪除文章中的字符或者字符串,向文章中插入字符或者字符串,從文章中復(fù)制字符或者字符串,修改行內(nèi)容,替換字符或者字符串。 1.2 設(shè)計(jì)任務(wù) 主要利用C語(yǔ)言的文件操作能力設(shè)計(jì)一個(gè)簡(jiǎn)單的文本編輯器,對(duì)于文本編輯器來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)相對(duì)簡(jiǎn)單,使用一個(gè)有較大長(zhǎng)度的順序表即可,在程序中可采用一維數(shù)組來(lái)實(shí)現(xiàn)。使用數(shù)組表示的順序表來(lái)存儲(chǔ)文本具有簡(jiǎn)潔、訪問(wèn)方便、輸出方便等特點(diǎn)。 1.3 具體要求 明確課程設(shè)計(jì)的目的,能根據(jù)課程設(shè)計(jì)的要求,查閱相關(guān)文獻(xiàn),為完成設(shè)計(jì)準(zhǔn)備必要的知識(shí); 提高學(xué)生用數(shù)據(jù)結(jié)構(gòu)進(jìn)行程序設(shè)計(jì)的能力,重點(diǎn)提高用C語(yǔ)言進(jìn)行文件操作和繪圖應(yīng)用的編程技術(shù)水平;初步了解軟件開發(fā)的一般方法和步驟; 提高撰寫技術(shù)文檔的能力。2 概要設(shè)計(jì) 2.1 系統(tǒng)的功能簡(jiǎn)介 該系統(tǒng)的主要功能是實(shí)現(xiàn)文本內(nèi)容輸入、顯示、統(tǒng)計(jì)、處理、保存。首先,輸入文本內(nèi)容并保存;選擇打開文件,打開剛才保存的文件;選擇顯示當(dāng)前文章內(nèi)容,可以預(yù)覽文件內(nèi)容;進(jìn)入文章內(nèi)容統(tǒng)計(jì)菜單,可以對(duì)文章中大寫字母、小寫字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、空格、所有字?jǐn)?shù)的統(tǒng)計(jì);進(jìn)入文章內(nèi)容處理菜單,查找、刪除文章中的字符或者字符串,向文章中插入字符或者字符串,從文章中復(fù)制字符或者字符串,修改行內(nèi)容,替換字符或者字符串。 2.2各個(gè)模塊之間的主要關(guān)系 該程序的功能主要是文本編輯,定義的操作方法是整個(gè)程序的核心,各個(gè)模塊之間的關(guān)系是相互聯(lián)系的。首先,需操作者輸入文本內(nèi)容,打開剛才編輯的文本文件,可以先預(yù)覽文件內(nèi)容,然后進(jìn)入文章內(nèi)容統(tǒng)計(jì)菜單,可以對(duì)文章中大寫字母、小寫字母、數(shù)字、標(biāo)點(diǎn)符號(hào)、空格、所有字?jǐn)?shù)的統(tǒng)計(jì);進(jìn)入文章內(nèi)容處理菜單,查找、刪除文章中的字符或者字符串,向文章中插入字符或者字符串,從文章中復(fù)制字符或者字符串,修改行內(nèi)容,替換字符或者字符串。 只有在上步做出選擇后,后面的程序才會(huì)接著執(zhí)行,這便表明它們之間存在著緊密的聯(lián)系,缺少任何一個(gè)模塊都將導(dǎo)致程序無(wú)法繼續(xù)執(zhí)行。要求各個(gè)模塊之間上下相連,具有緊密相扣的關(guān)系。3 設(shè)計(jì)過(guò)程及代碼分析 (1)主函數(shù)流程圖及運(yùn)行界面 主函數(shù)流程圖(見圖3(1)-A)main( )定義變量:Status s=1; int i;for(i=0;i<MAX_LEN;i+) / 初始化串InitString(Ti);while(s) Hello(); 圖3(1)-A 主函數(shù)運(yùn)行界面(見圖3(1)-B) 圖3(1)-B(2)輸入文本流程圖及運(yùn)行界面void Edit()定義變量:char c;獲得字符串:c=getchar(); while(c!=EOF) fputc(c,sfp); c=getchar(); fclose(sfp); 輸入文本流程圖(見圖3(2)-A)圖3(2)-A 運(yùn)行界面(見圖3(2)-B)圖3(2)-B(3) 打開文件與顯示當(dāng)前文章內(nèi)容流程圖及運(yùn)行界面 打開文件與顯示當(dāng)前文章內(nèi)容流程圖(見圖3(3)-A、B)void Open()定義變量:int k; while(1) fgets(str,LINE_LEN,fp); if(feof(fp) break; k=strlen(str); strk-1=0; / 將10強(qiáng)制改為0 if(k>0) StrAssign(Tn,str); n+; if(n>MAX_LEN) printf("文件太大n"); return; 圖3(3)-Avoid List()定義變量:int i; for(i=0;i<n-1;i+) printf("%d: ",i+1); StrPrint(Ti+1); getchar(); 圖3(3)-B 運(yùn)行界面(見圖3(3)-C、D)圖3(3)-C圖3(3)-D(4) 進(jìn)入文章內(nèi)容統(tǒng)計(jì)菜單流程圖及運(yùn)行界面 進(jìn)入文章內(nèi)容統(tǒng)計(jì)菜單流程圖(見圖3(4)-A)void CountWord()定義變量:int WORD=0,word=0,space=0,num=0,punct=0,sum=0; int i,j; char ch; for(i=0;i<n;i+) for(j=0;j<Ti.length;j+) ch=Ti.chj;if(ch>=A)&&(ch<=Z)WORD+;else if(ch>=a)&&(ch<=z)word+;else if(ch>=0)&&(ch<=9)num+;else if(ch= )space+;圖3(4)-A運(yùn)行界面(見圖3(4)-BH)主界面:圖3(4)-B統(tǒng)計(jì)文章中大寫字母的個(gè)數(shù):圖3(4)-C統(tǒng)計(jì)文章中小寫字母的個(gè)數(shù):圖3(4)-D統(tǒng)計(jì)文章中數(shù)字的個(gè)數(shù):圖3(4)-E統(tǒng)計(jì)文章中標(biāo)點(diǎn)符號(hào)的個(gè)數(shù):圖3(4)-F統(tǒng)計(jì)文章中空格的個(gè)數(shù):圖3(4)-G統(tǒng)計(jì)文章中所有字?jǐn)?shù):圖3(4)-H(5)進(jìn)入文章內(nèi)容處理菜單流程圖及運(yùn)行界面 進(jìn)入文章內(nèi)容處理菜單流程圖(見圖3(5)-A)void Dispose()定義變量:int t=0;switch(t) case 1:Search();break;case 2:Delete();break;case 3:Insert();break;case 4:Copy();break;case 5:Modify();break;case 6:Replace();break;case 7:Hello();break;圖3(5)-A 運(yùn)行界面(見圖3(5)-BJ)主界面:圖3(5)-B查找文本中的字符或字符串:圖3(5)-C刪除文本中的字符或字符串:圖3(5)-D向文本中插入字符或字符串:圖3(5)-E從文本中復(fù)制字符或字符串:圖3(5)-F修改行內(nèi)容:圖3(5)-G替換字符或字符串:圖3(5)-H圖3(5)-I替換后的文本內(nèi)容:圖3(5)-J4 設(shè)計(jì)結(jié)果與分析 通過(guò)本次課程設(shè)計(jì),實(shí)現(xiàn)了簡(jiǎn)單的文本編輯器,可以對(duì)文本內(nèi)容輸入、顯示、統(tǒng)計(jì)、處理、保存等基本操作。當(dāng)把程序?qū)懞貌⑦M(jìn)行調(diào)試時(shí),并不是一帆風(fēng)順的,總會(huì)遇到很多在調(diào)試時(shí)遇到的錯(cuò)誤。 1.在程序中,變量的類型有多種,如int型、char型、指針和指針數(shù)組,前后定義變量要統(tǒng)一。 2.對(duì)背景色和前景色設(shè)置的時(shí)候,當(dāng)你輸入的顏色在內(nèi)存中不存在時(shí),運(yùn)行程序過(guò)后,系統(tǒng)會(huì)告訴你相應(yīng)的顏色符號(hào)常數(shù)及數(shù)值。在程序中我選擇“system("color 0F");”,背景色為黑色,前景色亮白色。 3.如果程序在運(yùn)行的過(guò)程中,對(duì)于一個(gè)循環(huán)語(yǔ)句,如果你返回的值始終是真的,那么程序?qū)⑦M(jìn)如死循環(huán)。 4.對(duì)應(yīng)該有花括弧的復(fù)合語(yǔ)句,忘記加花括弧,將會(huì)導(dǎo)致程序報(bào)錯(cuò)。 5.所調(diào)用的函數(shù)在調(diào)用語(yǔ)句之后才定義,而又在調(diào)用前未加說(shuō)明。5 源程序 text editing.cpp#include "edit.h" #include "text.h"void main() Status s=1;system("color 0F");int i;for(i=0;i<MAX_LEN;i+) / 初始化串InitString(Ti);while(s) Hello(); text.h主要代碼void Edit() /輸入文本內(nèi)容 FILE *sfp;if(sfp=fopen("e:/wmc.txt","a+")=NULL) printf("打開文件失敗");exit(0);printf("請(qǐng)輸入文本(默認(rèn)存儲(chǔ)地址為E:wmc.txt,文本輸入完成后,按Enter,以Ctrl+Z結(jié)束):");char c;c=getchar();while(c!=EOF) fputc(c,sfp);c=getchar();fclose(sfp); void Open() / 打開文件(新或舊) system("cls"); int k; if(filename0) / 文件已打開 printf("已存在打開的文件n"); else printf("請(qǐng)輸入文件名(可包括盤符、路徑,不超過(guò)%d個(gè)字符,如E:wmc.txt): ",NAME_LEN-1);scanf("%s",filename);fp=fopen(filename,"r");if(fp) / 已存在此文件 while(1) fgets(str,LINE_LEN,fp);if(feof(fp) break;k=strlen(str);strk-1=0; / 將10強(qiáng)制改為0if(k>0) StrAssign(Tn,str);n+;if(n>MAX_LEN) printf("文件太大n");return;fclose(fp);elseprintf("新文件n");void List() / 顯示文件內(nèi)容 system("cls"); int i; for(i=0;i<n-1;i+) printf("%d: ",i+1);StrPrint(Ti+1);getchar();void CountWord() /文章內(nèi)容統(tǒng)計(jì) system("cls"); int WORD=0,word=0,space=0,num=0,punct=0,sum=0; int i,j; char ch; for(i=0;i<n;i+) for(j=0;j<Ti.length;j+) ch=Ti.chj;if(ch>=A)&&(ch<=Z)WORD+;else if(ch>=a)&&(ch<=z)word+;else if(ch>=0)&&(ch<=9)num+;else if(ch= )space+;else if(ch=33|ch=34|ch=39|ch=44|ch=46|ch=58|ch=59|ch=63)punct+;sum=WORD+word+num;do int t=0;printf("n");void Insert() / 插入行 system("cls"); int i,l,m; printf("在第l行前插m行,請(qǐng)輸入l m: "); scanf("%d%d%*c",&l,&m); if(n+m>MAX_LEN) printf("插入行太多n");return;if(n>=l-1&&l>0) for(i=n-1;i>=l-1;i-)Ti+m=Ti;n+=m;printf("請(qǐng)順序輸入待插入內(nèi)容:n");for(i=l-1;i<l-1+m;i+) gets(str);InitString(Ti);StrAssign(Ti,str);elseprintf("行超出范圍n");void Delete() / 刪除行 system("cls"); int i,l,m; printf("從第l行起刪除m行,請(qǐng)輸入l m: "); scanf("%d%d%*c",&l,&m); if(n>=l+m-1&&l>0) for(i=l-1+m;i<n;i+)Ti-m=Ti;for(i=n-m;i<n;i+)InitString(Ti);n-=m;elseprintf("行超出范圍n"); void Copy() / 拷貝行 system("cls"); int i,l,m,k; printf("把第l行開始的m行插在原k行之前,請(qǐng)輸入l m k: "); scanf("%d%d%d%*c",&l,&m,&k); if(n+m>MAX_LEN) printf("拷貝行太多n");return;if(n>=k-1&&n>=l-1+m&&(k>=l+m|k<=l) for(i=n-1;i>=k-1;i-)Ti+m=Ti;n+=m;if(k<=l)l+=m;for(i=l-1;i<l-1+m;i+)InitString(Ti+k-l);StrCopy(Ti+k-l,Ti);elseprintf("行超出范圍n"); void Modify() / 修改行 system("cls"); int i; printf("請(qǐng)輸入待修改的行號(hào): "); scanf("%d%*c",&i); if(i>0&&i<=n) / 行號(hào)合法 printf("%d: ",i);StrPrint(Ti-1);printf("請(qǐng)輸入新內(nèi)容: ");gets(str);StrAssign(Ti-1,str);elseprintf("行號(hào)超出范圍n"); void Search() / 查找字符串 system("cls"); int i,k,f=1; / f為繼續(xù)查找標(biāo)志 char b; HString s; printf("請(qǐng)輸入待查找的字符串: "); scanf("%s%*c",str); InitString(s); StrAssign(s,str); for(i=0;i<n&&f;i+) / 逐行查找 k=1; / 由每行第1個(gè)字符起查找while(k)k=Index(Ti,s,k); / 由本行的第k個(gè)字符開始查找if(k) / 找到printf("第%d行: ",i+1);StrPrint(Ti);printf("第%d個(gè)字符處找到。繼續(xù)查找嗎(Y/N)? ",k);b=getchar();getchar();if(b!=Y&&b!=y) / 中斷查找 f=0;break;elsek+;if(f)printf("沒(méi)找到n"); void Replace() / 替換字符串 system("cls"); int i,k,f=1; / f為繼續(xù)替換標(biāo)志 char b; HString s,t; printf("請(qǐng)輸入待替換的字符串: "); scanf("%s%*c",str); InitString(s); StrAssign(s,str); printf("替換為: "); scanf("%s%*c",str); InitString(t); StrAssign(t,str); for(i=0;i<n&&f;i+) / 逐行查找、替換 k=1; / 由每行第1個(gè)字符起查找while(k) k=Index(Ti,s,k); / 由本行的第k個(gè)字符開始查找if(k) / 找到 printf("第%d行: ",i+1);StrPrint(Ti);printf("第%d個(gè)字符處找到。是否替換(Y/N)? ",k);b=getchar();getchar();if(b=Y|b=y)StrDelete(Ti,k,StrLength(s);StrInsert(Ti,k,t);printf("繼續(xù)替換嗎(Y/N)?");b=getchar();getchar();if(b!=Y&&b!=y) / 中斷查找、替換 f=0;break;elsek+=StrLength(t);if(f)printf("沒(méi)找到n");6 總結(jié) 在當(dāng)今應(yīng)用市場(chǎng)下,應(yīng)用開發(fā)這個(gè)行業(yè)前景非??捎^。隨著科技發(fā)展,用戶對(duì)應(yīng)用的界面要求更加精致和細(xì)膩。這就要求應(yīng)用要有足夠的吸引,界面美觀,操作簡(jiǎn)單。 在本課程設(shè)計(jì)的設(shè)計(jì)過(guò)程中,我剛開始感覺(jué)到有點(diǎn)困難。要通過(guò)上學(xué)期數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí),將所學(xué)知識(shí)運(yùn)用起來(lái),起初對(duì)知識(shí)有點(diǎn)遺忘,但后來(lái)去看看數(shù)據(jù)結(jié)構(gòu)書后,對(duì)相關(guān)知識(shí)點(diǎn),概念和算法有了更深入的理解。 在調(diào)試程序的過(guò)程中,我體會(huì)到了作為一名編程者的艱辛。編程者需要謹(jǐn)慎、認(rèn)真的態(tài)度和作風(fēng),對(duì)每個(gè)細(xì)微的細(xì)節(jié)都必須十分注意,不能馬虎大意。 在開始編寫程序的時(shí)候,我看到別人的程序功能非常的詳細(xì),而且界面非常美觀,總是希望自己的程序也非常的完善,但是,發(fā)現(xiàn)編一個(gè)好的程序不是一蹴而就的事情,需要經(jīng)過(guò)長(zhǎng)期的編程經(jīng)驗(yàn)積累。 在反反復(fù)復(fù)的調(diào)試過(guò)程中,我終于作出一個(gè)簡(jiǎn)單的文本編輯器,雖然這個(gè)程序的功能非常簡(jiǎn)單,而且在實(shí)際運(yùn)用中還有些不足。由于我現(xiàn)在知識(shí)淺薄,經(jīng)驗(yàn)不足和閱歷尚淺,對(duì)這個(gè)文本編輯器設(shè)計(jì)得還有很多不足之處,比如界面沒(méi)有那么美觀,功能較單一等。我相信在以后的學(xué)習(xí)中,隨著知識(shí)的增長(zhǎng)和經(jīng)驗(yàn)的積累,我可以做出更好的成果。7 致謝 在這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)中,我的老師和同學(xué)給了我及大的幫助。特別是數(shù)據(jù)結(jié)構(gòu)的王源老師,還有負(fù)責(zé)審核課程設(shè)計(jì)的陳茅老師。在此,我對(duì)他們表示感謝!感謝他們?cè)谖颐鎸?duì)困難時(shí)給了我?guī)椭椭С?。也感謝那些給我?guī)椭乃型瑢W(xué)!8 參考文獻(xiàn) 1嚴(yán)蔚敏,吳偉民編著 .數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版) .北京清華大學(xué)出版社.1997 2徐孝凱編.數(shù)據(jù)結(jié)構(gòu)實(shí)用教程(C/C+描述).北京清華大學(xué)出版社.1999 3嚴(yán)蔚敏,吳偉民,米寧著.數(shù)據(jù)結(jié)構(gòu)題集.北京清華大學(xué)出版社.1999 4編.數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì).北京清華大學(xué)出版社.2010

注意事項(xiàng)

本文(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告—文本編輯器(共27頁(yè)))為本站會(huì)員(n85ho7****4h85bh)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!