- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计一个字符串类C++课程设计
C++课程设计
姓名:某某某
班级:计112
学号:
指导教师:
一:定义一个string类,实现其相关功能。
实验要求及目的:
比设计一个字符串类,要求满足常见字符串处理功能。
可参考VC卄安装目录include下的string, h头文件中关于字符串类的定 义。
成员函数的实现不允许使用系统提供的字符串处理功能。
写个测试程序测试每个成员函数。
实验环境:
PC 机,VC++6. 0。
实现过程:
a:首先读懂题目要求,知道自己所要实现的是什么。
b:参考VC++安装目录include下的string, h头文件中关于字符串类的定 义,选择几个字符串处理的基本功能,并且指导实现的原理及要求。
c:设计一个关于字符串的string类,并且定义各所属的成员函数。
d:设计实现各个成员函数,并写一个测试主函数测试每一个成员函数是否能 够实现其功能。
心得体会:
通过本次的实验巩固了我对字符串的一些基本功能的理解和运用,同时对 于一些原木比较模糊的概念定义有了更深的认识:如字符串的连接以及在一串字 符屮查找特定的字符等等。
当然,通过本次试骑然我对一些小的概念如:flag (判断)等有了较深的 了解。
对于本次的实验还有许多的不足之处如:没有按照要求的去用指针去实 现,以及没有用友元函数等等都有很多不足。
5.实验代码:
^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 *si, char *s2
void copy char *s ;
void str_set
cin str;
void str_out
cout str endl;
void connect char *s ;
void swap char *si, char *s2
int lcngth ;
int find char s ;
int compare char *s ;
f
int strlen char *s
int i 0;
while s[i++]! \0
return iT;
void
pointout
char
yor n;
cout
〃\n是否退出系统?:〃;
cout
〃y退岀,n不退出,继续。”;
cin
yorn;
cout
endl;
if yorn y \ \ yorn Y‘ flag 1;
el se
if yorn n | | yorn N
flag 0;
cout
〃请再次输入你所选择的功能序号\『;
else
flag
cout 〃输入有误,请重新输入〃 endl;
int string::length
int i 0;
while str[i++]! \0;
return iT;
int string::find char s
int k length ;
for int i 0;i k;i++
if str[i] s
return i;
return -1;
void string::copy char *si, char *s2
int i 0;
while s2[i]! \0
sl[i] s2[i];
i++;
sl[i] \05 ;
void string::copy char *s
int i 0;
whi 1 e str[i]! \0
s[i] str[i];
i++;
s[i] \0;
void string::swap char *sl, char *s2
copy str,si ;
copy si,s2 ;
copy s2,str ;
int string::compare char *s
int i 0;
int kl, k2, t;
kl strlen s ;
k2 length ;
if kl k2
t kl;kl k2;k2 t;
for i 0;i kl;i++
if s[i] str[i]
return 1;
else if s[i] str[i]
return -1;
return 0;
void string::connect char *s
int i 0, k length ;
while s[i]! \0,
str[k] s[i];
k++;
i++;
str[k] \0;
void menu
cout 本系统的五个功能〃 cndl;
cout 〃1:进行两个字符串的连接\n〃 ;
cout 〃2:复制原有的一串字符\n〃;
cout 〃3:查找一串字符里的一个特定字符\『;
cout 〃4:交换两
文档评论(0)