- 6
- 0
- 约1.2万字
- 约 35页
- 2019-03-07 发布于广东
- 举报
设计一个字符串类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)