数据结构课程设计报告-串的查找和替换.doc_第1页
数据结构课程设计报告-串的查找和替换.doc_第2页
数据结构课程设计报告-串的查找和替换.doc_第3页
数据结构课程设计报告-串的查找和替换.doc_第4页
数据结构课程设计报告-串的查找和替换.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东理工大学计算机学院课 程 设 计(数据结构)班 级姓 名学 号 指导教师二一一年一月二十日课程设计任务书及成绩评定课题名称串的查找和替换、题目的目的和要求: 1、设计目的巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。2、设计题目要求:设计内容:问题描述:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。内容要求:1.根据题目要求进行需求分析,分析出该项任务的主要功能和设计重点。2.根据需求分析的内容划分模块3利用vc+软件进行程序设计并调试通过4.写出课程设计说明书、设计进度及完成情况日 期内 容1.10-1.11选取参考书,查阅有关文献资料,完成资料搜集和系统分析工作。1.121.14创建相关数据结构,录入源程序。1.171.19调试程序并记录调试中的问题,初步完成课程设计报告。1.201.21上交课程设计报告打印版并进行课程设计答辩,要求每个同学针对自己的设计回答指导教师3-4个问题。考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。、主要参考文献及资料 1 严蔚敏 数据结构(c语言版)清华大学出版社 19992 严蔚敏 数据结构题集(c语言版)清华大学出版社 19993 谭浩强 c语言程序设计 清华大学出版社4 与所用编程环境相配套的c语言或c+相关的资料、成绩评定:设计成绩: (教师填写)指导老师: (签字)二一一 年 一 月 二 十一 日目 录第一章 概述1第二章 系统分析2第三章 概要设计3第四章 详细设计4第五章 运行与测试8第六章 总结与心得11参考文献 12第一章 概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。数据结构是一门重要的专业基础课,是计算机理论和应用的核心基础课程。数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。在这次的课程设计中我选择的题目是串的查找和替换。该课程设计实现了对文件的查找和替换。我采用的数据结构是字符串数组,这样操作起来比较方便,思路比较清晰。而如果采用指针则容易造成思路混乱,增加出错的几率。该课程设计可以实现对已打开文件的查找和替换,操作完毕关闭程序后,文件的内容为修改后的内容,实用性比较强。第二章 系统分析一 功能分析该课程设计的功能主要实现串的查找与替换,首先打开一个文档,对该文档进行查找和替换,该课程设计的文档中要包含替换后对文件保存的函数。以免造成替换后文件数据的丢失。串的查找和替换功能流程图:串的查找串的替换二 主要函数及其功能initstr( )从文件初始化数组inputchatihuan( )从键盘输入要替换的单词charu(char source,int index,char dest)把要替换的单词插入到被替换单词的位置tihuans( )调用函数是实现替换第三章 概要设计1. 数据结构的设计本设计所采用的数据结构 数组 str500保存从文件中读取的字符 chazhao15保存被替换的单词 tihuan15保存要替换的单词采用数组操作便于数据分析,思路清晰,便于操作。2. 算法的设计(1)课程设计中首先要实现初始化数组。(2)为了能够统计要查找的字符出现的次数,需要建立能够查找第一个出现要查找字符的下标的函数和要查看文章中共有多少个要查找的字符的函数。(3)建立能够输入要替换的字符串的函数,该函数可以显示要被替换的字符串和替换的字符串,这样可使思路更为清晰。(4)建立能够替换字符串的函数,实现字符串替换的功能。(5)建立函数能够实现替换后的字符串得以保存。第四章 详细设计1、 设计每个成员函数;/*数据结构:串的查找和替换 作者:赵延良*/#include#include#include#includefile * fp;char str500;char chazhao15;char tihuan15;/*从文件初始化数组*/void initstr()int i=0;fp=fopen(string.txt,rt);/*重新打开文件*/if(fp!=null) do fscanf(fp,%c,&stri); i+; while(!feof(fp) ; fclose(fp);/*查找第一个出现要查找字符的下标*/int chazhaostring() int i,j,k; for(i=0;istrlen(str);i+) j=i;k=0; while(strj=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(please 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中要替换的内容替换掉*/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(chazhao)!=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(cls); printf( system main menu n); printf(*n); printf(* 1: 输出内容 *n); printf(*-*n); printf(* 2: 查找 *n); printf(*-*n); printf(* 3: 替换 *n); printf(*-*n); printf(* 0: 退出 *n); printf(*n); printf(nnplease input order:n);2.设计主函数;void main() char ch;initstr(); while(1) welform(); scanf(%d,&ch); switch(ch) case 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(); 第五章 运行与测试运行测试首先进入界面:显示文件输出内容:显示查找内容界面显示替换内容界面:退出界面按任意键即可退出在调试程序中我遇到了一些问题,主要内容如下:(2)在源代码中,如果子函数放在主函数之后,需要先对子函数声明。为使源代码更为简洁,我将子函数放在主函数前面。这样可以使程序更为简洁,思路更加清晰。(1)打开的文件中,要替换文件的内容,只有当执行完替换后,并且能够完全退出可执行程序时,内容才可以完全替换。第六章 总结与心得两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在课程设计过程中,我一开始对自己如何完成一个独立的数据结构茫然不知所措,通过向老师和同学们请教,我逐步的了解了如何完成这次课程设计,并且提高了我对串的操作的熟练程度。 课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础在这次数据结构课程设计过程中,体现出自己单独完成问题的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此我十分感谢我的老师,在他们的指导下,我克服了在课程设计过程中许多的难题与不足,使我能够熟练的掌握了关于串的有关操作。 由于我的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论