資料結構課程設計

2022-05-03 07:09:03 字數 2900 閱讀 7359

簡易文字編輯器

學院: 資訊學院

班級:資訊與計算科學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 描述資料結構的基本方法,即通過建立類來描述抽象資料型別。...