簡單文本編輯器-數據結構與算法課程設計報告_第1頁
簡單文本編輯器-數據結構與算法課程設計報告_第2頁
簡單文本編輯器-數據結構與算法課程設計報告_第3頁
簡單文本編輯器-數據結構與算法課程設計報告_第4頁
簡單文本編輯器-數據結構與算法課程設計報告_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、簡單文本編輯器課程設計報告蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀

2、芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈

3、膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅

4、聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂

5、肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀

6、羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇

7、羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞

8、艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕

9、膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膅莇螁羀羈芃螀蝕膃腿蝿袂羆薈螈羄芁蒄螈肇肄莀螇螆芀芆莃袈肅膂蒂羈羋蒀蒂蝕肁莆蒁螃芆節蒀羅聿羋葿肇羂薇蒈螇膇蒃蕆衿羀荿蒆羂膆芅薆蟻罿膁薅螄膄蒀薄袆羇蒅薃肈膂莁薂螈肅芇薁袀芁膃薀羂肅蒂薀螞艿莈蠆螄肂芄蚈袇芇膀蚇罿肀蕿蚆蝿袃蒅蚅袁膈莁蚄羃羈芇蚄蚃膇膃蚃螅罿蒁螂袈膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅

10、肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃

11、羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀

12、羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈

13、衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊

14、芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃

15、膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀

16、肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈

17、肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅

18、羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕

19、袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇

20、袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅

21、膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂

22、膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿

23、肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇

24、羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖

25、羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂

26、袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿

27、芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀蠆聿蒞荿螁芅芁莈袃肈膇莇羆袀蒅蕆蚅肆莁蒆螈衿芇蒅袀肄芃蒄蝕袇腿蒃螂膂蒈蒂襖羅莄蒁羇

28、膁芀蒁蚆羄膆薀蝿腿肂蕿袁羂莀薈薁膇莆薇螃羀節薆裊芆膈薅羈肈蕆薅蚇袁莃薄蝿肇艿蚃袂袀膅螞薁肅肁蟻蚄袈蒀蝕袆膃莆蠆羈羆節蠆蚈膂膈蚈螀羄蒆蚇袃膀莂螆羅羃羋螅蚅膈膄莂螇羈膀莁罿芆葿莀 合肥學院計算機科學與技術系課程設計報告2009 2010 學年第 二 學期課程 數據結構與算法課程設計名稱簡單文本編輯器學生姓名何云龍學號0804012022專業班級08計科(2)班指導教師王昆侖、張冠紅2010 年 6 月實驗題目:簡單的文本編輯器1、 題目及要求名稱:簡單的文本編輯器內容:輸入一頁文字,程序可以統計出文字、數字、空格的個數。靜態存儲一頁文章,每行最多不超過80個字符,共n行。要求:(1)分別統計出其中

29、英文字母數和空格數及整篇文章總字數;(2)統計某一字符串在文章中出現的次數,并輸出該次數;(3)刪除某一字符或者子串,并將后面的字符前移。(4)插入某一字符或者子串。(5)查找某一字符或者子串。存儲結構使用線性表,分別用幾個子函數實現相應的功能;輸入數據的形式和范圍:可以輸入大寫、小寫的英文字母、任何數字及標點符號。輸出形式:(1)分行輸出用戶輸入的各行字符;(2)分4行輸出全部字母數、數字個數、空格個數、文章總字數(3)輸出刪除某一字符串后的文章。2、對題目的大概理解:本程序應實現以下功能:(1) 文章內容的輸入:包括字母、標點符號、數字、空格等;(2) 文章內容的統計:包括文章中大寫字母、

30、小寫字母、數字、標點符號、空格以 及文章所有字數的個數的統計;(3) 文章內容的處理:包括對文章內容的查找、刪除以及對指定位置進行插入操作, 其中在查找的過程中統計出該字符或字符串在文章中出現的次數;1、 問題分析本程序是對一段英文文章的內容進行處理,存儲方式采用鏈式存儲,沒有文件操作,故本程序對其文本內容的所有操作都是在鏈表中進行的。對于文本的輸入,采用頭插法將文本信息存儲到鏈表已申請好的存儲空間中,在此部分設計中最大的問題在于輸入文章過程中輸入的字符數大于80時如何換行;對于文本內容的統計,使用循環對已存儲的文章進行匹配,大寫字母數、小寫字母數、空格數、數字數直接通過比較即可得到,標點符號

31、通過asc比較即可得到;對于文本內容的處理,查找部分仍是使用循環對已存儲的文章進行匹配,判斷需要查找的字符或者字符串是否與文章中某部分內容相同,如果存在相同的記錄相同的個數及位置并輸出個數及位置。刪除部分先使用程序的查找功能對文章中需要刪除的字符或者字符串進行查找,然后對其進行刪除。插入部分為通過輸入的插入位置(行、列)將字符或者字符串插入到文章制定位置。本人對此程序的功能的擴展與完善: 本程序為簡單文本編輯器,如果加入磁盤文件的操作會使得該程序更加合理與完美。因此,在輸入文本時可以分為:從鍵盤直接輸入英文文本從磁盤文件中讀取英文文本 經過文本的輸入后,可以把經過處理過的文本保存到原來的或新建

32、的磁盤文件中去!加入文件的操作后,使該程序的可用性更加滿足用戶的需求!一、 數據結構選擇和概要設計數據結構選擇:本程序是對輸入的文字進行操作,并要求靜態存儲一頁文本。由于是一頁文本,包括多行,而且相鄰兩行的字符內容是依次讀入該頁的。因此,兩行之間的內容要建立相應的聯系。通過一個單鏈表,來控制該文本的行數,并額外設置一個前驅指針linklist *pre來與上一行進行有效連接,通過linklist *next來指向下取得與下一行的連接。為了控制每行的字符個數,在該鏈表的數據結構中設置一字符數組 data80,來存儲每行的字符。設置row和length分別記錄行數與列數;使用的數據結構為單鏈表操作

33、。根據第一部分的問題分析有該鏈表操作有3部分:pretempnext另有全局變量*head,作為文章的頭指針。故創建了以下結構體: typedef struct _node char data80;/記錄一行字符int length;/記錄一行字符長度 struct _node *next;/ 后繼指針struct _node *pre;/前趨指針int row;/記錄整篇文章的行數linklist;在文章內容創建部分中使用線性表的鏈式存儲來實現對行的操作,實用行指針所指向的字符數組對每行應輸入的字符進行存儲,并使用全局變量對文本的各種信息進行存儲;文章的內容統計、刪除、查找、插入都通過對行指

34、針所指向的一維字符數組的操作來完成。概要設計:程序框架:* 簡單文本編輯器運行界面 * 主菜單 * 1、文本內容輸入 * 2、顯示當前文本內容 * 3、文本內容統計菜單 * 4、文本內容處理菜單 * 5、退出本系統 *判 斷圖文本內容的輸入,build(),將文本內容輸入到已申請的存儲空間中顯示函數,displaytext(),將當前文本中內容顯示出來文章內容統計菜單,counttext(),以菜單形式顯示給用戶,對文章的內容進行各種方式的統計文章內容處理菜單,bmenu(),為一子菜單,使用了括searchtext()、deletetext()、inserttext()三個函數,對文章內容進

35、行處理退出該系統12345如果選擇功能1,則有:* 文本內容輸入菜單 * 1、從磁盤文件中讀入 * 2、從鍵盤上直接輸入 * 3、返回主菜單 *判 斷123返回主菜單調用子函數buildtext();實現從鍵盤上直接輸入文本調用子函數textinput();實現從文件讀入文本內容的操作 圖 2 簡單文本編輯器文本內容輸入菜單* 文章內容統計菜單 * 1、文章中大寫字母的個數 * 2、文章中小寫字母的個數 * 3、文章中數字的個數 * 4、文章中標點符號的個數 * 5、文章中空格的個數 * 6、文章中所有字數 * 7、退出返回主菜單 * 8、直接退出本系統 * *判斷統計文本中大寫字母個數1統計

36、文本中小寫字母個數2統計文本中數字的個數3統計文本中標點符號的個數4統計文本中空格的個數5統計文本所有字數6返回到主菜單7直接退出系統8如選擇上圖中功能3,則有:圖3 簡單的文本編輯器-文本內容統計菜單如選擇功能4,則有:* 文章內容處理菜單 * 1、查找文章中的字符或者字符串 * 2、刪除文章中的字符或者字符串 * 3、向文章中插入字符或者字符串 * 4、顯示處理后的文本內容 * 5、返回主菜單 * 6、直接退出系統 *判斷123456使用子函數searchword(),對存儲在鏈表中的文本進行字符或者字符串查找使用子函數deleteword(),對存儲在鏈表中文本進行字符或者字符串的刪除使

37、用子函數insertword(),對存儲在鏈表中的文本進行字符或者字符串的插入使用函數printword()將當前文本信息顯示出來返回到主菜單繼續其他菜單結束整個程序圖4 簡單的文本編輯器-文本內容處理菜單根據以上各圖,本程序共設計了12個函數。1、welcome() 標題函數,即一個輸出標題,永遠出現在程序的最頂端。2、textinput() 從指定的磁盤文件讀入文本;3、buildtext() 從鍵盤直接輸入文本內容;4、build() 文本輸入菜單;實現主菜單中的功能1,調用textinput()和buildtext()分兩種方式輸入文本5、displaytext() 當前文本內容輸出函

38、數,實現上圖1菜單功能2以及圖4中功能4,將當前存儲在鏈表中的文本內容輸出;6、counttext() 文章內容統計函數,實現上圖1菜單功能3,對存儲在鏈表中文本內容進行統計,包括對文本內容中的大寫字母、小寫字母、數字、標點符號、空格以及文章所有字數的個數的統計;圖2是對其完整描述;7、searchtext() 文章內容查找函數,實現上圖4菜單功能1中查找部分;8、deletetext() 文章內容刪除函數,實現上圖4菜單功能2中刪除部分;9、inserttext() 文章內容插入函數,實現上圖4菜單功能3中插入部分;10、bmenu() 第二子菜單函數,實現上圖1菜單功能4,圖4是此函數實現

39、的結果,它將7、8、9各子函數集合在此函數中;11、menu() 主菜單函數,其結果為圖1所顯示部分,將1、2、3、4、8、9等函數集合。12、main()主函數各函數關系用流程圖形式繪制如下:一、 詳細設計及編碼1、 定義單鏈表結點類型 typedef struct _list/行表結構 char data80;/記錄一行字符int length;/記錄一行字符長度 struct _list *next;/ 后繼指針struct _list *pre;/前趨指針int row;/記錄整篇文章的行數linklist;2、 全局變量的定義int num,c,n; /定義全局變量,num用來記錄行

40、號,c用來記錄子串在主串中出現的總次數linklist *head; /定義全局變量*head,文章首行頭指針3、 各子函數的偽碼a) textinput()讀文件文本內容輸入函數具體創建過程如下:a、 定義linklist指針變量*temp: linklist *temp;b、 定義文本輸入變量ch,記錄文本行數變量j,記錄每行字符數變量i;c、 申請動態存儲空間:head-next=(linklist *)malloc(sizeof(linklist);d、 首行頭指針的前驅指針為空:head-pre=null;首行指針: temp=head-next;首行指針的前驅指針也為空: temp

41、-pre=null;定義沒輸入字符時文章長度為0: temp-length=0;初始化為字符串結束標志,防止出現亂碼: for(i=0;idatai=0;e、從文本“abc.txt”文本文件中讀取字符:if(fp=fopen(abc.txt,r)=null) /* 打開一個”abc.txt”文件*/ printf(not open); exit(0); 利用循環進行文本輸入for(j=0;jlink_init_size;j+)/ 控制一頁 for(i=0;idatai=ch; temp-datai=ch; /給temp指向的行賦值 temp-length+;/行中字符長度加1 if(ch=eo

42、f)/文本結束符 num=j; break; /文章結束時,num來記錄整個文章的行數 在字符輸入的過程中,如果在單行輸入的字符超過了80個字符,則需要以下操作 :輸入字符數大于80,重新分配空間建立下一行temp-next=(linklist *)malloc(sizeof(linklist) ;給temp的前驅指針賦值:temp-next-pre=temp;temp指向當前行: temp=temp-next;將下一行初始化為字符串結束標志,防止出現亂碼:for(i=0;idatai=0;記錄整個文章的行數:temp-row=num+1;返回指向最后一行指針:return temp;文本輸入

43、部分到此結束。b) buildtext()鍵盤輸入文本內容輸入函數具體創建過程如下:a、 定義linklist指針變量*temp: linklist *temp;b、 定義文本輸入變量ch,記錄文本行數變量j,記錄每行字符數變量i;c、 申請動態存儲空間:head-next=(linklist *)malloc(sizeof(linklist);d、 首行頭指針的前驅指針為空:head-pre=null;首行指針: temp=head-next;首行指針的前驅指針也為空: temp-pre=null;定義沒輸入字符時文章長度為0: temp-length=0;初始化為字符串結束標志,防止出現亂

44、碼: for(i=0;idatai=0;e、 利用循環進行文本輸入for(j=0;jlink_init_size;j+)/ 控制一頁 for(i=0;idatai=ch; /給temp指向的行賦值 temp-length+;/行中字符長度加1 if(ch=#) num=j; break; /文章結束時,num來記錄整個文章的行數 在字符輸入的過程中,如果在單行輸入的字符超過了80個字符,則需要以下操作 :輸入字符數大于80,重新分配空間建立下一行temp-next=(linklist *)malloc(sizeof(linklist) ;給temp的前驅指針賦值:temp-next-pre=t

45、emp;temp指向當前行: temp=temp-next;將下一行初始化為字符串結束標志,防止出現亂碼:for(i=0;idatai=0;記錄整個文章的行數:temp-row=num+1;返回指向最后一行指針:return temp;文本輸入部分到此結束。c)、build()文本輸入菜單函數 a、建立一個文本輸入菜單; b、通過調用文本輸入函數實現文本輸入的功能d)、displaytext()當前文本輸出并寫入到相應磁盤文件函數本子函數功能為將當前存儲在鏈表中的文本信息輸出在屏幕上,具體偽碼算法如下:a、 定義文本行數變量j,每行字符數i:int i,j;b、 定義指針變量:linklist

46、 *p;c、 將指針p指向鏈表表頭: p=head-next;d、 輸出鏈表中的信息,并寫入到“bcd.txt”文本文件中 if(fp=fopen(bcd.txt,w)=null)printf(no open!n);exit(0);利用循環輸出鏈表中信息: for(j=0;j=num&p!=null;j+)=for(i=0;(idatai)!=#;i+)=printf(%c,p-datai);fprintf(fp,%c,p-datai);/寫入到文件p=p-next; 文本輸出函數到此結束。e)、counttext() 文本內容統計函數本子函數是對文本中內容進行統計。具體偽碼算法如下:a、 定

47、義指針變量temp:linklist *temp;b、 定義記錄文本行數變量j,每行字符數i;c、 定義記錄文本大寫字母數、小寫字母數、空格數、數字數、標點數和總字數的變量:int word=0,word=0,space=0,num=0,punct=0,sum=0;d、 將指針temp指向鏈表表頭:temp=head-next;e、 利用循環對鏈表中信息進行匹配判斷,將大寫字母數、小寫字母數、空格數、數字數、標點數和總字數統計出來: for(j=0;j=num;j+) for(i=0;(idatai)!=#;i+) ch=temp-datai; if(ch=a)&(ch=a)&(ch=0)&(chnext;d、 使用vc+中的拷貝函數,將形參中str1的值賦給data:strcpy(data,str1);e、 利用循環進行查找操作,核心算法為:if(temp-dataj)=datak) k+;/將輸入的查找字符與鏈表中信息比較,找到第一個相同的字符 else if(datak!=0)j=j-k; k=0; / /從主串第j-k個位置重新查找 if(datak=0) sum+;/此字符出現的次數加1 j=j-k+1; /j記錄下該字符串出現的位置 printf(tt第%d次出現在第%

溫馨提示

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

評論

0/150

提交評論