- 6
- 0
- 约1.77万字
- 约 40页
- 2018-12-03 发布于广西
- 举报
PAGE
PAGE 39
课程设计说明书
程序设计的主要思路:首先构思所写程序的框架,我在主函数中输入字符串,并调用函数传给定义的顺序串,主函数中运用了do-while语句和switch语句,以此来供使用者选择他所需做的操作。选择所需操作时,调用相应的函数实现功能的应用,输出所需结果。同时为了操作系统的好看,我运用了system()等改变了运行界面的颜色。
需求分析
实现串的基本操作,如:
输入两个串,并赋值给顺序串s,t
实现将串t复制给串s
判断两串的大小
求两串的长度
实现两串的连接
求子串
插入
删除
替换
输出串
实现串的匹配,如:非模式匹配、简单模式匹配、KMP匹配
实现串的逆置
查找
转换(将大写字母转换为小写字母,小写字母转换为大写字母)
概要设计
2.1 主界面设计
先设置了一个检测运行环境系统 。如图:
为了实现串的各项基本操作,设计了一个含有多个菜单项的主控菜单模式以连接各种基本操作,以方便使用系统。如图:
在选项9中我又设计了一个含三个菜单项的小主菜单以连接三个不同的匹配算法。如图:
2.2 数据结构设计
系统采用线性表的顺序存储结构表示,其中存放串字符和串长。此外定义了一个常量max,表示字符串的最大长度。
2.3 系统功能设计
此系统中设置了14个子功能模块,并在第9个功能中又设置了3个子功能模块。
(1)将串t复制给串s模块,由strcopy()函数实现。
(2)比较两串的大小模块。由strcmp()函数实现。
(3)求串的长度模块。由strlength()函数实现。
(4)串的查找模块。由chaz()函数实现。
(5)求子串模块。由substr()函数实现。
(6)串的连接模块。由concat()函数实现。
(7)输出串模块。由dis()函数实现。
(8)将串s2插入到s1的第i个字符中模块。
(9)串的模式匹配模块。可以有三个函数实现:index1()函数、index()函数、kmpindex()函数。
(10)从串s中删除第i个字符开始的长度为j的子串模块。由delstr()函数实现。
(11)在s串中将第i个字符开始的j个字符构成的子串用串t替换模块。由repstr()函数实现。
(12)串的逆序模块。由ReverseSq()函数实现。
(13)串的转换模块。由zhuanh()函数实现。
(14)串的修改模块。由change()函数实现。
3.模块设计
整个程序的流程图。如图:
开始
开始
输入串cstr,Str并赋值给串s,t
1串t复制给s
2判断串的大小
3求串长
4串的连接
5求子串
6插入
7删除
8替换
9匹配
10输出串
11串的逆序
12串的查找
13串的转换
14串的修改
根据选择输出相应的运行结果
结束
stra()函数
strcmp()函数
strlegth()函数
Concat()函数
substr()函数
insstr()函数
delstr()函数
repstrt()函数
pipei()函数
dis()函数
ReverseSq()函数
chaz()函数
zhuanh()函数
change()函数
选择(n!=0)
而选择9中还有一个流程,如图:
选择9
选择9
选择(n!=0)
1非模式匹配
2 BF模式匹配
3 KMP模式匹配
index1()函数
index()函数
kmpindex()函数
getnext()函数
输出相应的结果
4.详细设计
4.1数据结构设计
系统采用串的顺序存储结构(——顺序串)存储串的基本内容。类型定义如下:
typedef struct{
char data[max];
int length;
}sqstring;
4.2系统主要模块设计
(1)将字符常量cstr,Str赋值给串s,t模块,由stra()函数实现。该模块的算法思想是:用for循环将cstr[i]赋值给s[i];并s.length=i。
该模块的算法描述如下:
void stra(sqstring s,char cstr[])//将字符串常量赋给串s,s为引用型参数
{
int i;
for(i=0;cstr[i]!=\0;i++)
s.data[i]=cstr[i];
s.length=i;
}
(2)将串t复制给串s模块,由strcopy()
您可能关注的文档
- 柴油机故障诊断和排除-毕业(学术)论文设计.doc
- 柴油机冷起动研究-毕业(学术)论文设计.doc
- --柴油机连杆加工工艺规程及专用钻床夹具的设计-毕业(学术)论文设计.doc
- 柴油机主要零件的检修-毕业(学术)论文设计.doc
- 柴油吸附脱氮的技术研究-毕业(学术)论文设计.doc
- 产品调研报告_(虫草、燕窝、茶叶)-毕业(学术)论文设计.doc
- 产微生物絮凝剂菌株的筛选及产絮凝剂发酵条件的研究-毕业(学术)论文设计.doc
- 常州电大成人学历教育需求调查报告-毕业(学术)论文设计.doc
- 常微分方程平衡点及稳定性研究-毕业(学术)论文设计.doc
- 超临界萃取带鱼鱼油的研究-毕业(学术)论文设计.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 2024年中考数学复习(全国版)第09讲 函数与平面直角坐标系(讲义)(解析版).docx VIP
- 2026届陕西省西北工业大学附中物理高二上期末教学质量检测试题含解析.doc VIP
- 建筑施工现场安全技术交底大全(免费下载).doc
- 横河CS3000中国培训中心中文资料.ppt VIP
- 中医内科学脑系病症试题.doc VIP
- 2025年新版麻醉记录单.docx VIP
- 中医内科学:中医内科学脑系病证考试题.docx VIP
- 2024学年七年级上学期期末生物试题(含答案) .pdf VIP
- 《骨科急救与创伤处理》课件.ppt VIP
- 《针刺伤预防与处理》团体标准解读与实践PPT课件.pptx VIP
原创力文档

文档评论(0)