首页 C++课程设计之string字符串类

C++课程设计之string字符串类

举报
开通vip

C++课程设计之string字符串类湖南人文科技学院课程设计 课 程 名 称: C++程序设计 课 程 代 码: 05 题 目: 字符串类的设计 年级/专业/班: 软件工程2班 学 生 姓 名: 学 号: 指 导 教 师: 袁辉勇 开 题 时 间: 2011 年 5 月 15 日 完 ...

C++课程设计之string字符串类
湖南人文科技学院课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 课 程 名 称: C++程序设计 课 程 代 码: 05 题 目: 字符串类的设计 年级/专业/班: 软件工程2班 学 生 姓 名: 学 号: 指 导 教 师: 袁辉勇 开 题 时 间: 2011 年 5 月 15 日 完 成 时 间: 2011 年 6 月 5 日 —湖南人文科技学院计算机系 目 录 2一 引 言 2二 设计目的与任务 2三 设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 21 总体设计 32 详细设计 5四 程序清单 7五 程序调试与体会 11六 运行结果 12七 结 论 12八 参考文献 摘 要 本设计通过定义字符串类来实现对字符串的赋值、连接、复制、查找、交换操作。首先定义一个字符串类,通过调用字符串类中成员函数,对字符串类进行赋值,然后实现了字符串类之间的连接,字符串类之间的相互复制,字符串类之间的交换,最后可以对该字符串类中的字符串进行查找。 关键字:字符串;类;成员函数;对象 Abstract By defining the design of this type of string to string to the realization of the assignment, to connect, copy, find, exchange operations. First of all, the definition of a type of string, by calling members of the String class function, the type of string for assignment, and then realized the connection between the type of string, string-type between the copy, between string-type In exchange, the last class to the string of string to find. Keywords: string; category; members of the function; object 。 《C++程序设计》课程设计 ------字符串类的设计 一 引 言 随着人们生活水平的提高,计算机发展异常迅速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类信息的管理已经成为一种高效、快捷的方式。本课程设计就是要求完成一个字符串类的设计,使所设计出的字符串类具有包括赋值、连接、复制、查找、交换等功能 二 设计目的与任务 1、设计目的: 这个程序是通过C++语言采用向量的方法来设计的。通过本次的C++课程设计,我们将会把平日书本上的知识真正应用到了实际中来。深入了解C++各类及相关函数的应用,结合其它相关知识,如软件工程等,把所学知识融会贯通。 2、设计任务: 我们此次做的字符串类设计课程将要完成以下功能: 1字符串类对象的输入输出 ; 2.字符串的长度 ; 3.字符串的连接 ; 4.字符串的拷贝 ; 5.字符串的减法 ; 6.子串在主串中的定位 ; 7.子串替换功能 ; 三 设计方案 1 总体设计 定义一个String类,实现对字符串类的赋值、连接、复制、查找、交换等操作。先设计一个总类然后写出多个子类来实现任务所给定的功能。 2 详细设计 程序中用到的函数: 通过下列成员函数来说明设计中需要考虑的问题。 String类是用来对字符串类的赋值,字符串之间的比较,字符串之间的连接,字符串之间的相互复制,字符串之间的交换,字符串中的字符查找等功能。 因为VC系统有自带的类,所以每个功能函数都要自己编写! 高度模仿VC自带string类得功能!!!! 1string类中的的代码清单如下: class string { private: char str[N]; int len; public: string(char *p){ copy(str,p); } string (){}; void copy(char *s1,char *s2); void copy(char *s); void str_set(){ cin>>str; } void str_out(){cout< const int N=200; int n ,flag=0; class string { private: char str[N]; int len; public: string(char *p){ copy(str,p); } //字符串的构造 string (){}; void copy(char *s1,char *s2); void copy(char *s); void str_set(){ cin>>str; } //字符串的输入 void str_out(){cout<>yorn; cout<str[i]) return -1; } return 0; } void string::append(char *s)//连接 { int i=0,k=length(); while(s[i]!='\0') { str[k]=s[i]; k++; i++; } str[k]='\0'; } void string::word_str(char *s,int n1,int n2) //取字串 { int i,k=0; for(i=n1-1;i 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf void menu() { cout<<"欢迎进入【古城童话】字符串测试系统\n"; cout<<"功能选择菜单"<>s1; s.append(s1); cout<<"连接后的新字符串为:"; s.str_out(); tishi(); } void cs2() //测试功能2:复制 { string s; char s1[N]; cout<<"你选择测试的功能是复制\n"; cout<<"请你随意输入一串字符以回车结束\n"; cout<<"你输入的字符串:"; s.str_set(); cout<<"复制的字符串为:"; s.copy(s1); cout<>s1; s=s1; cout<<"请输入你要查找的字符并以回车结束:"; cin>>s3; if(s.find(s3)!=-1) cout<<"你所查字符下标为:"<>s1; cout<<"请输入第二个字符串s2:"; cin>>s2; s.swap(s1,s2); cout<<"s1="<>s1; cout<<"请输入子串的始位置:"; cin>>n1; cout<<"请输入子串的末位置:"; cin>>n2; cout<>s1; cout<<"结果:"<>n1; cs(n1); } return 0; } 五 程序调试与体会 1)调试 在对程序的调过程中,我们遇到了很多不同的问题,在发现问题与解决问题的过程中我们深刻体会到一个程序所要具备的健全性的重要性,我们必须考虑到该程序在解决具体问题的直观性与全面性,也就是要加强程序的可读性,也就是要尽可能地多加注释,这样就大大方便了我们提高了我们的进展。也会方便读者很容易就了解到程序的层次及功能。 我们所编写的程序具体要求我们输入一条完整的 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 其中包括: 1.连接: 通过运行结果的显示我们看出此功能已经实现. 2.复制: 通过第二个运行图的结果显示,第二个功能复制完成; 3.查找: 通过该图可以得出。第三个功能查找实现。 4.交换: 根据该图显示的结果得知交换功能已实现。 5.求子串已实现: 6.比较:(模拟strcmp()函数) 通过该图显示的结果得出,第六个功能都实现. 2)体会 通过本次课程设计,我们整个团队的每个成员都是受益匪浅: 首先,我们深刻感受到平日书本上看似简单的理论知识在真正派上用场的时候当中所涵盖的学问是那么多。理论与实践的距离之间我们今天的努力还只是一个开始。在完成此次课程设计的过程中我们屡屡碰到不同的问题。比如;面向对象的思想。 只有理论知识没有实践经验是不可能成为一名出色的软件设计师的。理论是实践的基础,实践是对所学知识的巩固与提高,只有理论与实践相结合才能真正掌握知识。 设计思想是很重要的,没有一个人能说自己对于一个问题考虑得面面具到,一个再成功的个人也离不开一个优秀的团体。所以只有通过大家反覆讨论出来的设计思想才是清晰的、全面的,这是一个好的程序最基本的要求,也是我们成功的决定性因素。在本次程序设计过程中,大家共同努力,分工合作,一起到图书馆找资料,找范文,共同学习,相互交流所学知识与经验,促使着我们共同进步并顺利地完成了该项任务。每个人的力量是有限的,但一旦团结起来力量将是无穷的。在竞争如此激烈的当今社会,这些东西都是我们终生受用的,因此对我们以后的工作和学习奠定了不错的基础。 总体来说,这次课程设计我们付出了努力但也是获得了很多。 六 运行结果 我们也对该程序所能实现的功能作了相应的代码进行了标识。这样用户就可以很方便直观地使用该程序。 八 参考文献 [1] 张国峰编著.《C++语言及其程序设计教程》.北京:电子工业出版社,1996. [2] 秦勇编著.《Visual C程序设计》.北京:北京大学出版社,1994. [3] 张素琴主编.《C++程序设计语言》.北京:清华大学出版社,1995 [4] 揣锦华等编.《C++程序设计语言》.西安: 西安电子科技大学出版社,2003 [5] 李军民等编.《C++程序设计语言》经典题解与实验指导.西安: 西安电子科技大学出版社,2003 [6] 吕凤翥著.《C++语言基础教程》.北京:清华大学出版社,2001 [7] 陈志泊编.《面向对象的程序设计语言――C++》,北京:电子工业出版社,2002 [8]陈火旺. 编译原理(第三版)[M]. 国防工业出版社,2000. [9]严蔚敏. 数据结构(C语言版)[M]. 北京:清华大学出版社,1997. [10] [美]Gonzalo Navarro Mathieu Raffinot. 柔性字符串匹配[M]. 电子工业出版社,2007. 课程设计任务书及成绩评定 课题名称:字符串类设计 完 成 者:姜鹏 赵振 高勇 何礼旦 张海霞 1、设计的目的与要求: 通过本次的C++课程设计,让我们学会把书本上的知识应用到了实际中来。深入了解C++各类及相关函数的应用,结合其它相关知识,如软件工程等,把所学知识融会贯通。 具有要求如下: 1.字符串类对象的输入输出 ; 2.字符串的长度 ; 3.字符串的连接 ; 4.字符串的拷贝 ; 5.字符串的减法 ; 6.子串在主串中的定位 ; 7.子串替换功能 ; 2、设计进度及完成情况 日 期 内 容 2011.5.15-2011.5.17 查找资料 2011.5.18-2011.5.21 划分功能模块,分工。 2011.5.22-2011.5.26 开始编程序,完成部分编程工作。 2011.5.27-2010.5.31 完成剩下的程序。 2011.6.01-2011.6.5 整理资料,打印,交课程设计报告。 3、成绩评定: 设计成绩: ( 指导老师: (签字) PAGE 第5页
本文档为【C++课程设计之string字符串类】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_885824
暂无简介~
格式:doc
大小:144KB
软件:Word
页数:17
分类:
上传时间:2011-12-15
浏览量:25