- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息科学与技术学院
程序设计基础课程设计报告
题目名称: 字符串类
学生姓名: 张 果
学 号: 2011508023
专业班级: 计算机科学与技术2011(1)班
指导教师: 高 攀
完成日期:2012-7-2
目录
1.课程设计目的 2
2课程设计题目描述和要求 3
2.1课程题目 3
2.2课程要求 3
2.3流程图 3
图2-3 物理模型图 3
3.详细设计 4
3.1数据类型 4
3.2主要模块设计 4
3.2.1字符串比较 4
3.2.2字符串连接: 6
3.3控制面板的设置 7
4运行结果 9
5. 课程设计总结 10
6.参考书目: 11
1.课程设计目的
《C++程序设计》是计算机科学与技术专业的必修课。自己做一个课程设计是学习完本书后进行的一次全面的综合性练习。其目的在于加深对C++编程的理解,培养学生的实践能力,促进理论与实践的结合。通过课程设计,让学生能够熟练运用C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。
通过课程设计了解自己通过一学年的学习C++这门课到底学的怎么样,验证自己的学习成果,并进一步发现自己的不足并且改正.
2课程设计题目描述和要求
2.1课程题目
字符串类(数组型)
2.2课程要求
计算字符串的长度,初始化字符串,字符串比较,查找子串(从头开始或者从尾开始),字符串连接等基本功能。
2.3流程图
图2-3 物理模型图
3.详细设计
3.1数据类型
为设计的字符串(数组型)定义类:
class Cstring
{
public:
Cstring();
Cstring(char *s);
void setValue(char *s);
void setValue(string s);
void setValue(Cstring s);
int getLength();
int strComp( Cstring s);
int subSearch(Cstring substr);
int strCon( Cstring s);
string getValue(){return str;}
private:
string str;
int length;
};
为字符串类功能的实现定义的构造函数、成员函数和变量。
3.2主要模块设计
3.2.1字符串比较
代码:
int Cstring::strComp( Cstring s)
{
int i=0;
while(str[i]==(s.getValue())[i] ilength is.getLength())
i++;
if(str[i]s.getValue()[i])
return 1;
else if(str[i]s.getValue()[i])
return -1;
else return 0;
}
图3-2-1 字符串的大小比较流程图
3.2.2字符串连接:
代码:
int Cstring::strCon(Cstring s)
{
length=length+s.getLength();
char *pstr=str;
str=new char[length+1];
coutpstrendl;
strcpy(str,pstr);
strcat(str,s.getValue());
delete pstr;
str[length]=’\0’;
return length;
}
图3-2-2字符串连接流程图
3.3控制面板的设置
void state()
{
cout”**********字符串功能测试**********”endl
” 0. 提示 “endl
” 1. 初始化 “endl
” 2. 计算长度 “endl
” 3. 字符串比较 “endl
” 4. 查找子串 “endl
” 5. 字符串连接 “endl
” 6. 退出”endl
”**********************************”endl endl;
}
在控制面板中对各个功能简单的数字输入实现各功能的连接。
void Cstring::setValue(char *s)
{
str=s;
length=0;
while(*(s++)!=’\0’)
{
length++;
}
}
void Cstring::setValue(string s)
{
str=s;
您可能关注的文档
- 课程设计说明--万年历程序设计.doc
- 课程设计---四工位专用机床设计.doc
- 课程设计---四相单四拍步进电机控制系统设计.doc
- 课程设计---塑料瓶盖模具设计.doc
- 课程设计---铁路货场平面设计.doc
- 课程设计--铁心压板复合模设计.docx
- 课程设计---停车场车位控制系统.doc
- 课程设计---同轴式二级圆柱齿轮减速器.doc
- 课程设计--图书馆管理系统.doc
- 课程设计---图书馆管理系统系统管理模块的设计与实现.doc
- [苏州]2024年江苏苏州太仓市事业单位招聘人员笔试历年高频考点(难、易错点)附带答案详解.docx
- [莆田]2024年福建莆田市第二实验小学招聘紧缺教师10人笔试历年高频考点(难、易错点)附带答案详解.docx
- [海南]2024年海南师范大学招聘员额制工作人员笔试历年高频考点(难、易错点)附带答案详解.docx
- [韶关]2024广东韶关市始兴县青年人才招聘30人笔试历年高频考点(难、易错点)附带答案详解.docx
- [深圳]2024年广东深圳市光明区人民医院选聘专业技术岗位工作人员12人笔试历年高频考点(难、易错点)附带答案详解.docx
- [阜阳]2024年安徽阜阳阜南县引进急需紧缺教育类人才27人笔试历年高频考点(难、易错点)附带答案详解.docx
- [温州]2024年浙江温州永嘉县卫生健康系统招聘医学类工作人员97人笔试历年高频考点(难、易错点)附带答案详解.docx
- [漳州]2024年福建漳州卫生职业学院招聘17人笔试历年高频考点(难、易错点)附带答案详解.docx
- [长沙]2024年湖南长沙师范学院附属第一幼儿园招聘笔试历年高频考点(难、易错点)附带答案详解.docx
- [赣州]2024年江西赣州市博物馆招聘工作人员笔试历年高频考点(难、易错点)附带答案详解.docx
文档评论(0)