簡易文字編輯器
學院: 資訊學院
班級:資訊與計算科學09—2班
姓名:徐庚輝 200901052022
張鴻飛 200901052024
簡易文字編輯器
乙個簡易文字編輯器應該具有圖形選單介面,包括查詢,替換(等長,不等長),插入(插串,文字塊的插入)、塊移動(行塊),刪除文字資訊等功能並可正確存檔、取盤,正確顯示總行數。
為實現資料結構的有序儲存,該編輯器應該用順序表來儲存輸入的資訊。順序表是資料結構中線性表的一種,它是用一塊位址連續的儲存空間依次儲存線性表的元素。其特點為:
在順序表上邏輯關係相鄰的倆個元素在物理位置上也相鄰;在順序表上可以隨即儲存表中的元素。在編輯器的主介面中如下提示資訊:
顯示當前文字資訊:遍歷用陣列存入的資訊,並輸出到顯示器上:
定義乙個結構體,並在結構體中定義乙個字元型的一維陣列和乙個整型變數,這個整型變數用於記錄一維陣列中存入資料的個數;
首先在陣列中查詢要被替換的資訊,如果找到該資訊,提示輸入要替換的資訊內容,否則提示未找到要被替換的資訊:
首先在陣列中查詢要插入的點,如果找到該插入點,提示輸入插入資訊,確認插入資訊後,提示選擇向前插入資訊還是向後插入資訊,如果未找到插入點,顯示未找到要插入的位置;
首先在陣列中查詢要移動的資訊,如果找到該資訊,提示是進行列移動還是行移動,否則提示未找到要移動的資訊;
首先在陣列中查詢要刪除的資訊,如果找到該資訊,提示是否確認刪除該資訊,通過確認來刪除資訊,如果未找到要刪除的資訊,提示未找到該資訊;
本實驗通過對檔案資料的操作,主要考查了一下幾個方面的知識:
1、對檔案的基本操作,包括資料的讀取和重新寫入;
2、要求掌握對陣列的熟練運用,包括陣列的,查詢,替換,刪除,插入等;
3、重點要求掌握在函式呼叫。通過對本實驗的學習,熟練掌握了以上的知識,我們才能繼續進行以後的程式學習。
為實現資料結構的有序儲存,該編輯器應該用順序表來儲存輸入的資訊。順序表是資料結構中線性表的一種,它是用一塊位址連續的儲存空間依次儲存線性表的元素。其特點為:
在順序表上邏輯關係相鄰的倆個元素在物理位置上也相鄰;在順序表上可以隨即儲存表中的元素。在編輯器的主介面中如下提示資訊:
顯示當前文字資訊:遍歷用陣列存入的資訊,並輸出到顯示器上:
定義乙個結構體,並在結構體中定義乙個字元型的一維陣列和乙個整型變數,這個整型變數用於記錄一維陣列中存入資料的個數;
首先在陣列中查詢要被替換的資訊,如果找到該資訊,提示輸入要替換的資訊內容,否則提示未找到要被替換的資訊:
首先在陣列中查詢要插入的點,如果找到該插入點,提示輸入插入資訊,確認插入資訊後,提示選擇向前插入資訊還是向後插入資訊,如果未找到插入點,顯示未找到要插入的位置;
首先在陣列中查詢要移動的資訊,如果找到該資訊,提示是進行列移動還是行移動,否則提示未找到要移動的資訊;
首先在陣列中查詢要刪除的資訊,如果找到該資訊,提示是否確認刪除該資訊,通過確認來刪除資訊,如果未找到要刪除的資訊,提示未找到該資訊;
詳細**:
#include ""
#include ""
#include ""
int index(char s1,char s2) //查詢
return(-1);
}void th(char s,char t,char r) //替換
else if(m
for(j=0;j s[i+j]=r[j];
s[p-(m-n)]='\0';}
printf("執行後資料為:\n");
puts(s);
}void cr(char s1, char s2,int i) //插入
for(k=0;k
s1[l1+l2-1]='\0';
printf("執行後資料為:\n");
puts(s1);
}void shanchu(char s1,char s2) //刪除
printf("執行後資料為:\n");
puts(s1);
}void yidong(char s,char t,int i) //移動
void main()
s[i]='\0';
printf("原文本內容為:\n");
puts(s讀盤
while(y=='y'||y=='y')
printf("輸入要替換的資料:\n");
gets(r);
th(s,a,r);break; //替換
case 2:
printf("輸入要插入的資料:\n");
gets(m);
printf("輸入要插入的位置:\n");
scanf("%d",&q);
cr(s,m,q);getchar();break; //插入
case 3:
printf("輸入要移動的資料:\n");
gets(t);
if(index(s,t)==-1)break;
printf("輸入要移動的位置:\n");
scanf("%d",&q);
yidong(s,t,q);
getchar();
break;
case 4:
printf("輸入要刪除的資料:\n");
gets(t);
if(index(s,t)!=-1)
printf("找到\n");
else
printf("找不到!!!\n");
shanchu(s,t);
break;
}printfn");
printf("是否繼續:y/n\n");
scanf("%c",&y);
}rewind(fp); //指標復位
fputs(s,fp); //存檔
fclose(fp);}
資料結構課程設計
指導書山東建築大學 電腦科學與技術學院 二 六年十二月 課程設計基本情況 課程名稱 資料結構課程設計 相關課程 c語言程式設計 visual c 程式設計 資料結構 適合專業 電腦科學與技術 網路工程 軟體工程 設計週數 2周 學分 2學分 開課學期 第4學期 開課單位 電腦科學與技術學院 一 課程...
資料結構課程設計
總結報告 專業軟體工程 班級軟體1007 學號 20103540 姓名 日期 2012.9.17 東北大學軟體學院 第一章需求分析 問題定義 實現乙個網上拍賣系統,根據需求描述和附加的框架 完成乙個網上拍賣系統。分析 整個系統執行於windows平台,是基於b s結構的商業應用程式,程式為使用者提供...
資料結構課程設計
環境與測繪學院 1 c 物件導向程式設計基礎 實驗簡介 學會用演算法語言c 描述抽象資料型別。理解資料結構的組成分為兩部分,第一部分是資料集 資料元素 第二部分是在此資料集上的操作。從物件導向的觀點看,這兩部分代表了物件的屬性和方法。掌握用c 描述資料結構的基本方法,即通過建立類來描述抽象資料型別。...