C++课程设计字符串类的设计.doc

上传人:laozhun 文档编号:2384422 上传时间:2023-02-17 格式:DOC 页数:15 大小:533.50KB
返回 下载 相关 举报
C++课程设计字符串类的设计.doc_第1页
第1页 / 共15页
C++课程设计字符串类的设计.doc_第2页
第2页 / 共15页
C++课程设计字符串类的设计.doc_第3页
第3页 / 共15页
C++课程设计字符串类的设计.doc_第4页
第4页 / 共15页
C++课程设计字符串类的设计.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C++课程设计字符串类的设计.doc》由会员分享,可在线阅读,更多相关《C++课程设计字符串类的设计.doc(15页珍藏版)》请在三一办公上搜索。

1、目 录1 题目内容及设计要求12 总体设计12.1 总体功能框图12.2 类的设计说明22.3 主要算法流程图33程序清单及注释54运行结果与分析55总结56参考文献51 题目内容及设计要求 字符串类的设计定义字符串类(String),包含存放字符串的字符数组和字符串中字符的个数。(1)字符串的输入与赋值;(2)字符串的运算:连接、复制、查找、交换、求子串、比较;(3)字符串的输出:对字符串的输入和输出都用文件实现。2 总体设计2.1 总体功能框图输入几组字符串,字符串的输入和输出都用文件实现,对于输入的字符串,进行相应的连接、复制、查找、交换、求子串、比较等字符串的运算;以直接人性话的操作界

2、面展现出来,当执行字符串的相应运算时,调用程序中相应的对应部分的函数模块进行操作。总体框图:字符串类的设计 输入字符串.对字符串连接对字符串求子串求子串比较对字符串交换对字符串查找输出运算后的结果. 图2-1总体框图2.2 类的设计说明 string-length:int-str:char+string(in s:char,in l:int)+string()+strcpy(in z:char):void+strcat(in z:char):void+compare(in b:char):void+substring(in start:int,in end:int):char+exchange

3、(in e:char):void图2-2类string的说明图2.3 主要算法流程图输入n选择文件中第几个字符串中第几个字符串开始str1.exchange(read2(m)write(str1.str)write(str1.str)str1.substring(m,n)复制后的字符串:write(str1.str)Compare(read2(m)write(str1.str)Strcat(read2(m)write(str1.str)Strcpy(read2(m)write2(MAX)String:menun()switch(k)交换后的字符串:求子串后的字符串:比较后的字符串:连接后的字符

4、串:BreakBreakBreakBreakBreakj!=0&cink Yreturn 0 N结束图2-3主要算法流程图模块功能流程图:开始输出:strBreak开始strcat(a,z)strcpy(a,str)strcpy(temp1,str)strcpy(temp2,e)输出:strBreak结束结束开始图2-4连接模块流程图 图2-5交换模块流程图 In.open结束!in返回null Yk N TIn.getline()k-return 图2-6 Read功能模块图3 程序清单及注释#include#includeusing namespace std;char s12;char

5、s120;const int MAX=5;class Stringpublic:char *str;int length;static void menun() cout * endl; coutt* 欢迎进入字符串设计 *tendl;cout * endl;cout 1 enter ,执行字符串复制!endl;cout 2 enter ,执行字符串链接!endl;cout 3 enter ,执行字符创比较!endl;cout 4 enter ,执行字符串求字串!endl;cout 5 enter ,执行字符串交换!endl;cout 0 enter ,退出.endl;String(char

6、*s,int l)/构造函数str=new charstrlen(s)+1;strcpy(str,s);length=l;coutConstruct String!n;String()/析构函数delete str;void Strcpy(char *s)/复制 char *x; x=new charstrlen(s)+1;strcpy(x,s);deletestr;str=x;length=strlen(x);coutstrendl;void Strcat(char *z)/连接char *a;a=new charstrlen(z)+length;strcpy(a,str);strcat(a

7、,z);str=a;coutstrendl;void Compare(char *b)/比较coutstr compare b is:strcmp(str,b)endl;char * substring(int start,int end)/求子串char *newstr=new charend-start+1;int i,j=0;for(i=start;iend;i+,j+)newstrj=stri;newstrj=0;return newstr;void exchange(char *e)/交换char *temp1,*temp2;temp1=new charlength;temp2=ne

8、w charstrlen(e)+1;strcpy(temp1,str);strcpy(temp2,e);str=temp2;e=temp1;couteendl;coutstrendl; void write(char s110)ofstream out;out.open(f:filej.text,ios:out|ios:ate|ios:app); if(!out)coutCan not open file !endl; outs1n; out.close(); char * read() ifstream in; in.open(f:filej.text,ios:in); if(!in)cou

9、tCan not open file !endl;return NULL; int k=1; while(k) in.getline(s,12);k=0; in.close(); return s; char * read2(int k) ifstream in; in.open(f:filej.text,ios:in); if(!in)coutCan not open file !endl;return NULL; while(k) in.getline(s,12);k-; in.close(); return s; void write2(int n)ofstream out;out.op

10、en(f:filej.text,ios:out|ios:ate|ios:app); if(!out)coutCan not open file !s1; outs1n; n-; coutt* 文件创建成功! *tendl; out.close(); int main() coutnC+课程设计:字符串类的设计n; cout 设计人:钟以军n;cout 学号:0903050434n;cout*n;cout*n;coutn开始创建文件请输入字符串:n;write2(MAX);String:menun();coutm;cout建立类的对象str1:n;String str1( read2(m),12

11、);coutstr1.strendl;int k;int j=1;cout请选择执行什么操作n;while(j!=0&cink)switch(k)case 1:coutm; str1.Strcpy(read2(m);write(str1.str); cout复制后的字符串:; coutstr1.str endl;break; case 2:coutm; str1.Strcat(read2(m); write(str1.str); cout连接后的字符串:str1.strendl;break; case 3:coutm; str1.Compare(read2(m);break; case 4:c

12、out下面开始求子串n; int m,n; coutmn; cout所求子串为: ; coutstr1.substring(m,n)endl;break; case 5: coutm;str1.exchange(read2(m) ;break; case 0: j=0; cout谢谢使用,退出字符串设计.n; break;return 0; 4 运行结果与分析图4-1基本操作界面图4-2字符串创建成功图4-3实现字符串的复制图4-4实现字符串的链接图4-5实现字符串的比较图4-6实现字符串的求子串 图4-6实现字符串的交换运行结果符合题目的要求,实现了对字符串的连接、复制、查找、求子串、比较、

13、交换等操作。5 总结 通过对这一课题的设计和实现,我对Micosoft Visual C+环境进行了深一步的了解,并逐渐开始熟练Micosoft Visual C+环境的工作界面,以及对每一个快捷键的熟悉。并认识到,熟悉这些快捷键,极为便捷编写程序,但是还要更加熟悉。编程时要养成良好的风格,注意相同内容的缩进和对齐。这样做,可以使程序代码出错的情况下,可以快速并且便捷的查找到错误的行,利于很好的修改。通过这次编程我们深深的感受到对代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同人员之间的协作。同时,在*老师的身上我学得到很多实用的知识,在此表示感谢!同时,对给过我帮助的所有同学和指导老师再次表示忠心的感谢!6 参考文献1李爱华,程磊著. 面向对象程序设计(C+语言) .北京:清华大学出版社,20102刘振安,刘燕君著. C+程序设计课程设计. 北京: 机械工业出版社,20043谭浩强著. C+程序设计实践指导. 北京:清华大学出版社,2005

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号