字符串实现 C语言

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1 课题描述 (1)
2 设计过程 (1)
2.1功能模块图 (1)
2.2主程序流程图 (3)
2.3设计实现代码 (4)
3.测试结果及分析 (6)
3.1程序运行截图 (6)
3.1字符串长度计算截图 (7)
3.1字符串合并截图 (8)
3.1字符串比较排序截图 (9)
3.1字符串查找截图 (10)
总结 (11)
参考文献 (12)
1 课题描述
这是个简单的关于字符串之间的函数计算但是每一个简单的计算也都是一种复杂计算的基础。

本程序包含有字符串的长度计算、字符串的合并、字符串的排序、字符串的查找
字符串的长度计算:主要针对单个字符串进行字符长度的计算将字符串长度直接计算输出。

字符串的合并:主要针对两个字符串之间进行,将第二个字符串链接到第一个字符串后面组成一个新的字符串而输出。

字符串的排序:将单个字符按照字符在字母表中的先后顺序依次排出本程序暂时仅限三个字符的排序。

字符串的查找:本程序预先设计好十五个字符使用者可以输入自己想要查找的字符程序自动进行超找如果存在则显示可以找到所需字符,如果不存在则直接跳出本次操作。

帮组菜单:主要对个步骤中存在的一些输入方式加以说明请使用前务必提前了解。

程序虽然简单任何大程序都是有这些小程序组合而成的在将来的许多应用软件的编写都是这些程序的合理利用比如查找函数可用于学生成绩管理系统;排序可快速用于日常的办公中等。

本程序使用 Microsoft Visual C++ 6.0软件进行编写。

流程图使用Microsoft Office Visio 2003进行绘制。

2 设计过程
2.1功能模块图:
图2.1 功能模块图
2.2主程序流程图:
2.2.1字符串处理函数系统实现流程图
图2.2 设计流程图
2.3 设计实现代码
1.#include<iostream.h>
const
w[15]={'s','a','d','f','g','h','j','k','l','q','w','e','r','t','y'};
2.帮助菜单函数设计
void Help()
{
cout<<"************帮助***********"<<'\n';
cout<<"case 1.输入时只输入连续字符,以0为结束符"<<'\n';
cout<<"case 2.输入时只输入连续字符,以0为结束符"<<'\n';
cout<<"case 3.输入时只输入单个字符,以0为结束符"<<'\n';
cout<<"case 4.如果没有提示则为找不到,以0为结束符"<<'\n';
}
//以上程序用于实现帮助才单//
3.开始菜单函数设计
void Open()
{
cout<<"******************************"<<'\n';
cout<<" 字符串处理函数系统的实现"<<'\n';
cout<<"******************************"<<'\n';
cout<<"请选择操作:"<<'\n';
cout<<"0.退出"<<'\n';
cout<<"1.字符串长度计算"<<'\n';
cout<<"2.字符串合并"<<'\n';
cout<<"3.字符串排序"<<'\n';
cout<<"4.字符串查找"<<'\n';
cout<<"5.帮助"<<'\n';
}
4.定义length函数用于实现字符串长度计算
int length(char b[20])
{
int p;
for(p=0;b[p]!='\0';p++);
return p;
}
6.定义strcat函数是它可以实现字符串的相加
void strcat(char n[20],char m[20])
{
int i=0,j=0;
while(n[i]!='\0')i++;
while((n[i++]=m[j++])!='\0');
cout<<n;
}
void main()
//主函数调用//
{
Open();
int i,j;
char b[20],m[200],n[20] , temp ,g , r ,l ,y ; cin>>i;
switch(i)//用于选择程序的语句//
{
case 0:
return ;
case 1:
cout<<"你的选择是字符串长度计算"<<endl;
cout<<"******************************"<<'\n'; cout<<"请输入所需计算长度的字符:"<<endl;
cin>>b;
cout<<"字符串的长度为:"<<length(b)<<endl;
break;
case 2:
cout<<"你的选择是字符串合并"<<endl;
cout<<"******************************"<<'\n';
cout<<"请输入第一个字符串:"<<endl;
cin>>n;
cout<<"请输入第二个字符串:"<<endl;
cin>>m;
strcat(n,m);
break;
case 3:
cout<<"你的选择是字符串比较与排序"<<endl;
cout<<"******************************"<<'\n';
cout<<"请输入第一个字符串:"<<endl;
cin>>r;
cout<<"请输入第二个字符串:"<<endl;
cin>>g;
cout<<"请输入第三个字符串:"<<endl;
cin>>l;
if(r>g)
{temp=r;r=g;g=temp;}
if(l<g)
cout<<l<<" "<<g<<" "<<r<<endl;
else if (l<=r)
cout<<g<<" "<<l<<" "<<r<<endl;
else
cout<<r<<" "<<g<<" "<<l<<endl;
break;
case 4:
cout<<"请输1入个字符:"<<endl;
cin>>y;
for(j=0;j<15;j++)
{
if(w[j]==y)
cout<<"可以找到所需字符!"<<endl;continue;
}
break;
case 5:
Help();
break;
default:
cout<<"输入错误请重新启动!!!!!"<<endl;
//用户起始输入错误时提醒//
}
}
3 测试结果及分析
3.1程序运行截图
1.字符串长度计算
图3.1字符串函数长度计算图
2.字符串合并
图3.2字符串合并图
3.字符串比较排序
图3. 3字符串比较与排序图
4.字符串查找
图3.1.4字符串查找截图
总结
在此次课程设计的完成过程中,深知自己在程序独立编写过上的缺陷,对算法不能灵活应用,对一些函数还不能熟练掌握。

在实现此程序中遇到的问题是:不使用已有函数的基础上进行进行相应的函数实现。

在查资料后发现使用for循环计数原理可以替代字符串产度计算函数strlen;在操作中还遇到字符串排序只能进行单个字符串的排序,暂时还未找到解决的方案。

每次操作完成后都会跳出操作而不能连续操作,尚未解决。

通过以后的继续学习我决定一定要加强平时的强化训练以及提升自己在独立完成程序编写方面的能力。

参考文献
[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2002
[2] 李春葆.数据结构(C语言版)习题与解析[M]. 北京:清华大学出版社,2002
[3] 钱能.C++程序设计教程[M]. 北京:清华大学出版社,2003
[4] 谭浩强.C++程序设计教程[M]. 北京:清华大学出版社,2005。

相关文档
最新文档