第一范文网 - 专业文章范例文档资料分享平台

设计一个字符串类C++课程设计

来源:用户分享 时间:2025/8/31 4:31:05 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

C++课程设计

姓名:某某某

班级:计112

学号:

指导教师:

一:定义一个string类,实现其相关功能。

1.实验要求及目的:

a.设计一个字符串类,要求满足常见字符串处理功能。

b.可参考VC++安装目录include下的string.h头文件中关于字符串类的定义。 c.成员函数的实现不允许使用系统提供的字符串处理功能。 d.写个测试程序测试每个成员函数。

2.实验环境:

PC机,VC++6.0。

3.实现过程:

a:首先读懂题目要求,知道自己所要实现的是什么。

b:参考VC++安装目录include下的string.h头文件中关于字符串类的定义,选择几个字符串处理的基本功能,并且指导实现的原理及要求。 c:设计一个关于字符串的string类,并且定义各所属的成员函数。 d:设计实现各个成员函数,并写一个测试主函数测试每一个成员函数是否能够实现其功能。

4.心得体会:

通过本次的实验巩固了我对字符串的一些基本功能的理解和运用,同时对于一些原本比较模糊的概念定义有了更深的认识:如字符串的连接以及在一串字符中查找特定的字符等等。

当然,通过本次试验然我对一些小的概念如: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 *s1,char *s2);

void copy(char *s); void str_set() {

cin>>str; }

void str_out() {

cout<

void connect(char *s);

void swap(char *s1,char *s2); int length (); int find (char s); int compare(char *s); };

int strlen(char *s) {

int i=0;

while(s[i++]!='\\0'); return i-1; }

void pointout() {

char yorn;

cout<<\是否退出系统?:\

cout<<\退出,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;

while(str[i++]!='\\0'); return i-1; }

int string::find (char s) {

int k=length(); for(int i=0;i

void string::copy(char *s1,char *s2) {

int i=0;

while(s2[i]!='\\0') {

s1[i]=s2[i]; i++; }

s1[i]='\\0'; }

void string::copy(char *s) {

int i=0;

while(str[i]!='\\0') {

s[i]=str[i]; i++; }

s[i]='\\0'; }

void string::swap(char *s1,char *s2) {

copy(str,s1); copy(s1,s2); copy(s2,str);

}

int string::compare(char *s) {

int i=0;

int k1,k2,t; k1=strlen(s); k2=length(); if(k1

t=k1;k1=k2;k2=t; }

for(i=0;i

if(s[i]

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<<\本系统的五个功能\ cout<<\进行两个字符串的连接\\n\cout<<\复制原有的一串字符\\n\

cout<<\查找一串字符里的一个特定字符\\n\cout<<\交换两串字符\\n\ cout<<\比较两串字符的大小\\n\

cout<<\请输入你想要执行的功能:!\}

搜索更多关于: 设计一个字符串类C++课程设计 的文档
设计一个字符串类C++课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ar698wuf605ej21u0rq9kfa25180i00k89_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top