C++课程设计之string字符串类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称: C++程序设计
课程代码:05
题目: 字符串类的设计
年级/专业/班: 软件工程2班
学生姓名:
学号:
指导教师: 袁辉勇
开题时间: 2011 年 5 月 15 日
完成时间: 2011 年 6 月 5 日
—湖南人文科技学院计算机系
目录
一引言 (3)
二设计目的与任务 (3)
三设计方案 (4)
1 总体设计 (4)
2 详细设计 (4)
四程序清单 (4)
五程序调试与体会 (10)
六运行结果 (14)
七结论................................................. 错误!未定义书签。八参考文献............................................... 错误!未定义书签。
摘要
本设计通过定义字符串类来实现对字符串的赋值、连接、复制、查找、交换操作。首先定义一个字符串类,通过调用字符串类中成员函数,对字符串类进行赋值,然后实现了字符串类之间的连接,字符串类之间的相互复制,字符串类之间的交换,最后可以对该字符串类中的字符串进行查找。
关键字:字符串;类;成员函数;对象
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< void append(char *s); void word_str(char *s,int n1,int n2); void swap(char *s1,char *s2); int length (); int find (char s); int compaer(char *s); }; 四程序清单 #include 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< void append(char *s); void word_str(char *s,int n1,int n2); void swap(char *s1,char *s2); int length (); int find (char s); int compaer(char *s); }; int strlen(char *s) { int i=0; while(s[i++]!='\0'); return i-1; } void tishi() { char yorn; cout<<"\n是否退出系统[Y/N]:"; cin>>yorn; cout< if(yorn=='y'||yorn=='Y') flag=1; else if(yorn=='n'||yorn=='N'){flag=0;cout<<"请再次输入功能序号\n";} else { flag=0; cout<<"输入有误,请重新输入"< } int string::length() //字符串长度 { int i=0;