




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+课程设计报告课程设计题目:实现字符串的多种操作姓名:刘欢学籍号:201110910422专业班级:计算机科学与技术2班指导教师:秦相林目录引言1.设计目的2.设计题目3.设计需求4.设计总体思路5.详细设计6.运行结果7.课程设计心得8.参考文献引言随着人们生活水平的提高,计算机发展异常迅速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类信息的管理已经成为一种高效、快捷的方式。而C+课程设计是我们实践性教学环节之一,结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。通过课程设计的综合训练,培养我们实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学我们系统掌握C+这门课程的主要内容,本课程设计就是要求完成一个字符串类的设计,使所设计出的字符串类具有包括复制、连接、比较、求子串、交换等功能1. 设计目的本设计通过定义字符串类来实现对字符串的复制、连接、比较、求子串、交换操作。首先定义一个字符串类,通过调用字符串类中成员函数,对字符串类进行复制,然后实现了字符串类之间的连接,字符串类之间的相互比较,求一个字符串的子串,以及实现两个字符串之间的交换。2. 设计题目实现字符串的多种操作3.设计需求通过本次的C+课程设计,让我们学会把书本上的知识应用到了实际中来。深入了解C+各类及相关函数的应用,结合其它相关知识,如软件工程等,把所学知识融会贯通。对系统进行功能需求分析,设计合理的数据结构和系统框架,编程简练,程序功能齐全,能正确运行。具有要求如下:1字符串类对象的输入输出 ;2.字符串的长度 ;3.字符串的连接 ;4.字符串的复制 ;5.字符串的比较 ;6.对其求子字符串 ;7.子串交换功能 ;4.设计总体思路我们设计一个程序,定义字符串类,包含存放字符串的字符数组和字符串中字符的个数。实现功能。设计菜单功能选择,字符串的复制,连接,比较,求子串以及交换Class string设计一个字符串类并构造函数,用strcpy,compare,strcat,Substring及exchange实现各种操作。 字符串类的设计 输入字符串对字符串连接输出运算后的结果对字符串求子串字符串比较字符串复制字符串交换5.详细设计#include#includeusing namespace std;char s12;char s120;const int MAX=5;class Stringpublic:char *str;int length;static void menun() cout endl; coutt 欢迎进入字符串设计 tendl;cout endl;cout *_* 功能选择菜单endl;cout 1 enter ,执行字符串复制! endl;cout 2 enter ,执行字符串链接! endl;cout 3 enter ,执行字符创比较! endl;cout 4 enter ,执行字符串求字串! endl;cout 5 enter ,执行字符串交换! endl;cout 0 enter ,退出.endl;String(char *s,int l)str=new charstrlen(s)+1;strcpy(str,s);length=l;coutConstruct String!n;String()delete str;void Strcpy(char *s) char *x; x=new charstrlen(s)+1;strcpy(x,s);deletestr;str=x;length=strlen(x);coutstrendl;void Strcat(char *z)char *a;a=new charstrlen(z)+length;strcpy(a,str);strcat(a,z);str=a;coutstrendl;void Compare(char *b)coutstr compare b is:strcmp(str,b)endl;char * substring(int start,int end)char *newstr=new charend-start+1;int i,j=0;for(i=start;iend;i+,j+)newstrj=stri;newstrj=0;return newstr;void exchange(char *e) char *temp1,*temp2;temp1=new charlength;temp2=new charstrlen(e)+1;strcpy(temp1,str);strcpy(temp2,e);str=temp2;e=temp1;couteendl;coutstrendl; void write(char s110)ofstream out;out.open(f:filej.text,ios:out|ios:ate|ios:app); if(!out)coutCan not open file !endl; outs1n; out.close(); char * read() ifstream in; in.open(f:filej.text,ios:in); if(!in)coutCan not open file !endl;return NULL; int k=1; while(k) in.getline(s,12);k=0; in.close(); return s; char * read2(int k) ifstream in; in.open(f:filej.text,ios:in); if(!in)coutCan not open file !endl;return NULL; while(k) in.getline(s,12);k-; in.close(); return s; void write2(int n)ofstream out;out.open(f:filej.text,ios:out|ios:ate|ios:app); if(!out)coutCan not open file !s1; outs1n; n-; coutt* 文件创建成功! *tendl; out.close(); int main() coutn C+课程设计:字符串类的设计n; cout *n; cout * 设计人:刘欢 *n;cout * 学号:201110910422 *n;cout * 专业:计算机科学与技术2班 *n; cout *n;coutn请输入字符串:n;write2(MAX);String:menun();coutm;cout建立类的对象str1:n;String str1( read2(m),12);coutstr1.strendl;int k;int j=1;cout请选择操作n;while(j!=0&cink)switch(k)case 1:coutm; str1.Strcpy(read2(m);write(str1.str); cout复制后的字符串:; coutstr1.str endl;break; case 2:coutm; str1.Strcat(read2(m); write(str1.str); cout连接后的字符串:str1.strendl;break; case 3:coutm; str1.Compare(read2(m);break; case 4:cout下面开始求子串n; int m,n; coutmn; cout所求子串为: ; coutstr1.substring(m,n)endl;break; case 5: coutm;str1.exchange(read2(m) ;break; case 6: default: cout你输入的功能序号有误,请重新输入!endl; case 0: j=0; cout谢谢使用,退出字符串设计.n; break;return 0;6.运行结果7.课程设计心得首先,这次课程设计使我深刻感受到平日书本上看似简单的理论知识在真正派上用场的时候当中所涵盖的学问是那么多。理论与实践的距离之间我们今天的努力还只是一个开始。只有理论知识没有实践经验是不可能成为一名出色的软件设计师的。理论是实践的基础,实践是对所学知识的巩固与提高,只有理论与实践相结合才能真正掌握知识。设计思想是很重要的,没有一个人能说自己对于一个问题考虑得面面具到,一个再成功的个人也离不开一个优秀的团体。所以只有通过研究出来的设计思想才是清晰的、全面的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025瓷砖产品进出口贸易代理合同
- 2025年度特色订餐服务合同范本
- 2025版高标准预制砌块施工合同
- 2025年多媒体短信息服务合同五
- 2025产品陈列与售后服务合作协议
- 2025年度三七药材种植户贷款担保与购销合同
- 2025常用合同系列之动漫游戏行业劳动合同范本
- 诸城市2024-2025学年中考试题猜想数学试卷含解析
- 养老机构医养结合模式下的养老产品创新与研发报告
- 海洋风力发电市场前景:2025年海上风能资源评估与发展研究报告
- 2025年事业单位工勤技能-河南-河南农业技术员一级(高级技师)历年参考题库含答案解析(5卷套题【单选100题】)
- (新教材)2025年秋期人教版二年级上册数学核心素养教案(第2单元)(教学反思有内容+二次备课版)
- (高清版)DB34∕T 5154-2025 基于云制造的工业互联网架构要求
- 党校中青班入学考试试题及答案
- 三支一扶培训
- 2025年中国儿童游乐设施产业深度调研与投资机遇研究报告
- 新生儿42天体检要点解析
- 煤矿联网课题题目及答案
- 2025内蒙古巴彦淖尔市能源(集团)有限公司招聘48人笔试参考题库附带答案详解析集合
- T/CASTEM 1007-2022技术经理人能力评价规范
- 初中七年级数学备课组科研合作计划
评论
0/150
提交评论