数据结构课程设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据结构课程设计全”。
数据结构课程设计
题目: 串的查找与替换 学院: 信息科学技术学院
目录
一、设计任务书..............................1
二、课程设计题目:串的查找和替换............1
三、程序功能简介............................1
四、主体内容................................1
五、程序运行测试............................5
六、心得体会................................7
七、附录....................................8
一、设计任务书
1、设计目的(1)学习和巩固数据结构的基本知识。
(2)充分体会在程序设计中数据的重要作用,学会在程序设计中运用数据结构的相关知识解决问题。
2、设计基本要求
(1)符合课程设计题要求,实现相应功能;(2)要求界面友好美观,操作方便易行;(3)注意程序的实用性、安全性;
(4)随时记录设计情况(备查,也为编写设计说明书作好准备);(5)设计成果:设计说明书一份(附录:设计说明书格式及要求);源程序(能编译成可执行文件并能正常运行)。
3、设计组织方法
(1)分组选题:每组一个课程设计题,成员两人,设组长一名,负责该组设计工作的协调、分工等。
(2)设计过程:
1)按组讨论、确定设计方案,确定程序模块,并进行明确分工; 2)各人分别完成自己的设计任务,编写源程序,并调试好; 3)程序汇总、编译。
4、设计时间
2011—2012学年第一学期:第18-20周,共计3周
二、课程设计题目:串的查找和替换
问题描述:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。
三、程序功能简介
该课程设计的功能主要实现串的查找与替换,首先打开一个文档,对该文档进行查找和替换,该课程设计的文档中要包含替换后对文件保存的函数。以免造成替换后文件数据的丢失。
四、主体内容
1、设计分析
(1)主要函数及其功能
initstr()从文件初始化数组
inputchatihuan()从键盘输入要替换的单词
charu(char source[ ],int index,char dest[ ])把要替换的单词插入到被替换单词的位置 tihuans()调用函数是实现替换(2)数据结构的设计 本设计所采用的数据结构
数组
str[500]保存从文件中读取的字符 chazhao[15]保存被替换的单词 tihuan[15]保存要替换的单词
采用数组操作便于数据分析,思路清晰,便于操作。(3)算法的设计
a.课程设计中首先要实现初始化数组。b.为了能够统计要查找的字符出现的次数,需要建立能够查找第一个出现要查找字符的下标的函数和要查看文章中共有多少个要查找的字符的函数。
c.建立能够输入要替换的字符串的函数,该函数可以显示要被替换的字符串和替换的字符串,这样可使思路更为清晰。
d.建立能够替换字符串的函数,实现字符串替换的功能。e.建立函数能够实现替换后的字符串得以保存。
2、程序说明
#include #include #include/*字符串系统函数*/
FILE *fp;/*声明fp是指针,用来指向FILE类型的对象*/ char str[10000];/*定义一个字符型数组*/ char chazhao[1000];char tihuan[1000];void initstr()/*从文件初始化数组*/ { int i=0;/*定义变量*/ fp=fopen(“string.txt”,“r”);/*重新打开文件*/ while(!feof(fp))/*循环语句,到达文件尾时返回真值*/ { str[i]=fgetc(fp);/*从文件中读取字符*/ i++;} str[--i]=' ';/*循环结束*/ fclose(fp);/*关闭文件*/ } void inputchatihuan()/*输入要替换的字符串*/ { printf(“输入要查找的单词:n”);/*输出查找提示语*/ scanf(“%s”,chazhao);/*输入*/ printf(“输入要替换的单词:n”);/*输出替换提示语*/ scanf(“%s”,tihuan);/*输入*/ getchar();/*回车返回*/ } /*查找第一个出现要查找字符的下标*/ int chazhaostring()/*定义函数*/ { 2
int i,j,k;/*定义变量 i,j,k*/ for(i=0;(size_t)i
return i;/*字符串的第一个字符开始循环,知道字符结束,for循环结束*/ } return-1;} void chazhaos()/*查看文章中共有多少个要查找的字符*/ { int i,j,k,all=0;/*定义变量i,j,k,all all的值为0*/ printf(“输入要查找的单词:n”);scanf(“%s”,chazhao);for(i=0;(size_t)i=index){ source[i]=source[m];i--;m--;} i=index;m=0;while(m
b=a;if(b==-1)/*选择语句*/ { printf(“ 此单词不存在!n”);
return;} else { while(str[b+strlen(chazhao)]!=' ')/*while循环*/ {str[b]=str[b+strlen(chazhao)];b++;} str[b]=' ';charu(str,a,tihuan);} a=chazhaostring();} while(a!=-1);printf(“替换成功n”);printf(“n按回车返回.....”);getchar();/*回车返回*/ } void save()/*保存修改后的文章信息*/ { int i=0;FILE *fp;fp=fopen(“string.txt”,“w”);/*写入文件*/ while((size_t)i
scanf(“%d”,&ch);switch(ch){ case 1:;printf(“%sn”,str);getchar();getchar();break;/*选择1 打开string.txt文件并显示*/ case 2:;chazhaos();break;/*选择2 执行chazhaos()*/ case 3:;tihuans();break;/*选择3 执行tihuans()*/ case 0:save();exit(0);/*选择0 执行saves(),退出*/ default: printf(“n你输入的数字有误!n”);/*如果上面条件都不成立时运行*/
printf(“按回车返回”);
getchar();getchar();/*回车返回*/ } } }
五、程序运行测试
打开运行界面
输出内容界面
查找单词界面
替换单词界面
退出界面
六、心得体会
三周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在课程设计过程中,我一开始对自己如何完成一个独立的数据结构茫然不知所措,通过向同学们请教,逐步的了解了如何完成这次课程设计,并且提高了我对串的操作的熟练程度。
课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地
在社会大潮中奔跑打下坚实的基础。
在这次数据结构课程设计过程中,体现出自己单独完成问题的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
七、附录
1、程序中主要函数列表
initstr()从文件初始化数组
inputchatihuan()从键盘输入要替换的单词
charu(char source[],int index,char dest[])把要替换的单词插入到被替换单词的位置
tihuans()调用函数是实现替换
2、附参考书目
《数据结构(C语言版)》 严蔚敏 吴伟民 清华大学出版社 《数据结构实践指导教程》 阮宏一 华中科技大学出版社 《数据结构》 田鲁怀 电子工业出版社
课 程 设 计 任 务 书信息 学院 信息管理与信息系统 专业 09级1班 班 孙鹏一、二、课程设计题目: 迷宫求解、一元多项式 课程设计主要参考资料: 数据结构(C语言版) 严蔚敏、吴伟......
数据结构课程设计题目(2013年)一、必做题 1、图书管理系统(线性表) [问题描述]设计一个程序,记录并统计图书使用情况。 [基本要求] (1)图书信息包括图书ID号,图书名,出版社名,出版年月......
课程设计题目1、运动会分数统计任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或......
《数据结构》课程设计报告学 号 姓 名 班 级 指导教师XXX XXX XXX XXX 安徽工业大学计算机学院2014年6月利用栈实现迷宫问题的求解一、问题描述以一个M*N的长方阵表示迷宫,0......
数据结构课程设计计算机科学与技术2008级1班课程设计题目:图书借阅管理系统 姓名:学号:一.需求分析说明图书借阅处理过程简述处理过程主要包含:新增图书上架、办理图证、图书查询......