3字符串Word格式文档下载.docx
《3字符串Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《3字符串Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
设计一个简单的菜单,实现以上各项功能
3)课程设计论文编写要求
(1)要按照课程设计模板的规格书写课程设计论文
(2)论文包括目录、正文、心得体会、参考文献等
(3)课程设计论文用B5纸统一打印,装订按学校的统一要求完成
4)答辩与评分标准:
(1)完成原理分析:
20分;
(2)完成设计过程:
40分;
(3)完成调试:
(4)回答问题:
20分。
5)参考文献:
(1)谭浩强.C++程序设计.北京:
清华大学出版社,2004
(2)
(3)
6)课程设计进度安排
内容天数 地点
构思及收集资料2 图书馆
编程设计与调试5 实验室
撰写论文3 图书馆、实验室
学生签名:
2011年6月日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (20分):
(3)完成调试 (20分):
(4)翻译能力 (20分):
(5)回答问题 (20分):
(6)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
目 录
一、问题描述3
二、内容简介4
2.1基本要求:
4
2.2.算法思想:
2.3.模块划分:
2.4.源程序:
2.5.测试情况:
三、小结5
四、参考文献6
一、问题描述
(描述要求编程解决的问题)
此程序主要是对字符串进行一些基本的操作包括如下几个具体部分:
二、
内容简介
首先串赋值基本要求是:
将一个字符或字符串赋给一个已知的字符串从而形成一个新的字符串.
串比较基本要求是:
是将两个字符串用比较函数来进行比较来的出字符串的大小关系.
串连接基本要求是:
先给出一个字符串然后用函数将另一个字符串连接在已知字符串的后面.
求串长基本要求是:
用函数计算出一个已知字符串的长度.
串插入基本要求是:
在一个已知字符串中的某个位置中插入另一个字符串.
串删除基本要求是:
在已知的字符串中选择要删除的字符或者字符串然后得到新的字符串.
求子串基本要求是:
在已知字符串中选择初始位置和串长然后用函数找出所需的字串.
串匹配基本要求是:
能判断两字符串是否相同或者从哪个位置开始匹配.
首先利用控制语句建立一个功能选择菜单,然后定义一个字符串变量用来实现串赋值(=)、串比较(==、!
求串长、串插入、串删除、求子串,串匹配等功能!
每个功能是单独的一个实现模块,每个模块又是通过一个类来实现的,类又是通过调用string头文件中的各种库函数来实现功能的。
模块1:
主要是字符串连接作用。
主要用到append函数。
它主要用来将两字符串连接例如s1append(s2)就是将s2链接在s1的后面。
模块2:
主要是求子串。
主要用到assign函数。
它主要是在已知起始位置和子串长度时来提取子串的。
模块3:
主要是比较两字符串。
用到compare函数用来比较字符串大小。
模块4:
主要是求串长。
用到slength函数用来计算字符串长度。
模块5:
主要是串实现插入的功能。
用到scanf函数来将数据输到指定的变量中。
模块6:
主要是串匹配的功能。
用到find函数用来对某个字符串进行定位返回第一个匹配字符串的位置。
模块7:
主要是实现对指定字符串的删除。
定义一个fun函数来实现。
模块8:
主要是串赋值。
用到strcmp函数将另一字符串赋给原字符串。
(描述所设计程序的各个模块(即函数)功能。
)
#include<
iostream.h>
string>
usingnamespacestd;
classa//连接类
{public:
a(string&
s1){charstr2[20];
cout<
<
"
请输入要连接的字符串:
endl;
gets(str2);
strings2(str2);
strings3;
s3=s1.append(s2);
//连接s2到s1后并赋s3
cout<
s3.data()<
}
};
classb//插入类
b(string&
s1){
strings2(s1);
//把s1拷贝给s2
字符串2:
s2.data()<
classc//匹配类
c(string&
请输入要查找的字符或字符串"
charstr2[20];
if(s1.find(str2)>
s1.length())cout<
找不到你输入的字符或字符串!
//要查找的字符串开始位置大于原字符串的长度就是没有这个字符串
elsecout<
你要找的字符串的开始位置是:
s1.find(str2)+1<
classd//赋值类
d(string&
请输入要赋值字符串s2:
s1.swap(s2);
//把s2和s1交换
赋值后s1为:
s1.data()<
classe//求子串类
e(string&
s1){intstart,n;
请输入子串的起始位置:
;
cin>
>
start;
请输入子串的长度:
cin>
n;
strings3=s1.assign(s1,start-1,n);
//把字符串s中从start开始的n个字符赋给当前字符串
classf//比较类
f(string&
请输入要比较的字符串s2:
if(pare(s2)<
0)//比较其大小
s1比s2小"
if(pare(s2)>
0)
s1比s2大"
if(pare(s2)==0)
s1与s2相等"
classg//求串长
g(string&
s1)
{
该字符串的长度是:
s1.size()<
}
classh//删除类
public:
h(strings1)
{
chars3[70],ch;
strcpy(s3,s1.begin());
inti,j=0;
printf("
输入你想删除的那个字符或字符串:
);
ch=getchar();
for(i=0;
s3[i]!
='
\0'
i++)
if(s3[i]!
=ch)
s3[j++]=s3[i];
s3[j]='
%s3\n"
s3);
/*输出删除指定字符后的字符串*/
}
voidmain()
{cout<
menu:
1)link2)copy3)find4)change5)seek6)compare7)chuanchang8)shanchu9)exit"
charstr1[20];
intnum=0,len;
请输入一个字符串s1:
gets(str1);
strings1(str1);
len=strlen(str1);
//保存字符串长度
while(num!
=9)//功能选项
请选择功能的序号:
num;
if(num==1)aa(s1);
if(num==2)ba(s1);
if(num==3)ca(s1);
if(num==4)da(s1);
if(num==5)ea(s1);
if(num==6)fa(s1);
if(num==7)ga(s1);
if(num==8)ha(s1);
三、小结
通过对课程设计的编写过程,我理解了编写程序需要仔细的检查和周密的思考。
各个模块的设计需要考虑全盘的设计要求!
个别错误会造成很大的问题,编译器提供的错误地点有可能不是正确的,需要编者自己去判断以找出错误的准确位置。
故需要耐心和仔细心态去对待.
但是由于时间短暂,学习水平有限,所做系统有很多不足的地方,但此程序在编写过程中得到了许多同学和学长及老师的帮助,感谢他们!
四、参考文献
1.C++程序设计//王更生(北京邮电大学出版社)
2.http//
3谭浩强.C++程序设计.北京:
4.ttp:
//
5.ttp: