- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告
学校:中南大学
学院:信息科学与工程学院
班级:计算机科学与技术1101班
姓名:杜茂鹏
课题:文字编辑器
时间:2013年7月3日
目 录
设计目的
问题描述
设计要求
设计构思
算法说明
测试结果
总结反思
源程序
1设计目的
1) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
2) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
3) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4) 进行全面综合的训练,对课堂教学、实验等环节的有益补充。
5) 提高解决实际问题和培养软件工作所需的动手能力。
6) 深化理解和灵活掌握教学内容
7) 进行软件工程的综合训练。训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
2问题描述
功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;
3设计要求
输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章;
6测试结果
8总结反思
通过本次课程设计,我对数据结构的理解进一步加深,我理解和掌握了每一段程序代码的功能及含义,并且能够实现文字编辑的主要功能:利用链表实现文字的存储问题,利用模式匹配查找字符串。学习数据结构,我学会如何将所学的知识运用到实际中,解决一些实际的问题,这才是学习的根本。 当然在实验中我也遇到了不少实际性的问题,编写的程度要与实际有联系,这就不能只依赖于课本,还要联系实际多多思考,重复调试,不断改进,才能编出一个符合实际的有价值的系统。
9源程序
#include stdio.h
#includestdlib.h
#include string.h
#includemalloc.h
//创造链表
typedef char DataType;
typedef struct node
{
DataType ch[500];
struct node *next;
}Lstring;
//输入函数
Lstring *input()
{ FILE*fp;
if((fp=fopen(E:\\文字编辑结果.txt,w))==0)
{
printf(打不开\n);
exit(0);
}
Lstring *p,*head;
int i=0,a=0;
printf (************请输入一段文字,每行不超过80个字符,结束请按“#”************\n);
p=(Lstring *)malloc(sizeof(Lstring));
head=p;
p-ch[i]=0;
p-next=0;
char str[200];
while(1)
{
gets(str);
if(strlen(str)80)
{
printf(每行最多输入80个字符,请重启程序\n);
exit(0);
}
if(str[0]==35)
{
str[0]=\0;
p-ch[0]=str[0];
break;
}
p-next=(Lstring *)malloc(sizeof(Lstring));
strcpy(p-ch,str);
if(str[strlen(str)-1]==35)
{
p-ch[strlen(str)-1]=\0;
break;
}
p=p-next;
}
p-next=NULL;
i=0;
while(1)
{
fputc(p-ch[i],fp);
i++;
if(p-ch[i]==\0)
break;
}
fputc(\n,fp);
fclose(fp);
return head;
}
//输出函数
Lstring *OutPut(Lstring *head)
{
您可能关注的文档
最近下载
- 湘教版(2019)高中地理选择性必修1第一章 地球的运动 测试卷(含答案解析).docx VIP
- (英语四级4500词汇魔鬼背诵.doc VIP
- DB23T 1359-2019 承重混凝土多孔砖建筑技术规程.pdf VIP
- DB23T 1203-2020 低温辐射电热膜供暖系统应用技术规程.pdf VIP
- DB23 3761-2024 建设工程对水文监测影响评价报告编制规程.pdf VIP
- 螺旋椎体挤土桩设计方法与工程应用.pdf VIP
- 日本东荣株式会社 HM-410 参数.docx VIP
- 论某高速公路路基水文地质病害工程治理方案.pdf VIP
- 论某新建住宅小区地库方案设计.pdf VIP
- 论如何做好施工阶段的工程变更和索赔工作.pdf VIP
文档评论(0)