课程设计实现字符串的多种操作_第1页
课程设计实现字符串的多种操作_第2页
课程设计实现字符串的多种操作_第3页
课程设计实现字符串的多种操作_第4页
课程设计实现字符串的多种操作_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+课程设计报告课程设计题目:实现字符串的多种操作姓名:刘欢学籍号:201110910422专业班级:计算机科学与技术2班指导教师:秦相林目录引言1.设计目的2.设计题目3.设计需求4.设计总体思路5.详细设计6.运行结果7.课程设计心得8.参考文献引言随着人们生活水平的提高,计算机发展异常迅速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类信息的管理已经成为一种高效、快捷的方式。而C+课程设计是我们实践性教学环节之一,结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。通过课

2、程设计的综合训练,培养我们实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学我们系统掌握C+这门课程的主要内容,本课程设计就是要求完成一个字符串类的设计,使所设计出的字符串类具有包括复制、连接、比较、求子串、交换等功能1. 设计目的本设计通过定义字符串类来实现对字符串的复制、连接、比较、求子串、交换操作。首先定义一个字符串类,通过调用字符串类中成员函数,对字符串类进行复制,然后实现了字符串类之间的连接,字符串类之间的相互比较,求一个字符串的子串,以及实现两个字符串之间的交换。2. 设计题目实现字符串的多种操作3.设计需求通过本次的C+课程设计,让我们学会把

3、书本上的知识应用到了实际中来。深入了解C+各类及相关函数的应用,结合其它相关知识,如软件工程等,把所学知识融会贯通。对系统进行功能需求分析,设计合理的数据结构和系统框架,编程简练,程序功能齐全,能正确运行。具有要求如下:1字符串类对象的输入输出 ;2.字符串的长度 ;3.字符串的连接 ;4.字符串的复制;5.字符串的比较 ;6.对其求子字符串 ;7.子串交换功能 ;4.设计总体思路我们设计一个程序,定义字符串类,包含存放字符串的字符数组和字符串中字符的个数。实现功能。设计菜单功能选择,字符串的复制,连接,比较,求子串以及交换Class string设计一个字符串类并构造函数,用strcpy,c

4、ompare,strcat,Substring及exchange实现各种操作。字符串类的设计输入字符串对字符串连接输出运算后的结果对字符串求子串字符串比较字符串复制字符串交换5.详细设计#include<iostream>#include<fstream>using namespace std;char s12;char s120;const int MAX=5;class Stringpublic:char *str;int length;static void menun() cout<<" "<<endl; cout&l

5、t;<"t 欢迎进入字符串设计 t"<<endl;cout<<" "<<endl;cout<<" *_* 功能选择菜单"<<endl;cout<<" 1 enter ,执行字符串复制! "<<endl;cout<<" 2 enter ,执行字符串链接! "<<endl;cout<<" 3 enter ,执行字符创比较! "<<endl;co

6、ut<<" 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;cout<<"Construct String!n"String()delete str;void Strcp

7、y(char *s) char *x; x=new charstrlen(s)+1;strcpy(x,s);deletestr;str=x;length=strlen(x);cout<<str<<endl;void Strcat(char *z)char *a;a=new charstrlen(z)+length;strcpy(a,str);strcat(a,z);str=a;cout<<str<<endl;void Compare(char *b)cout<<"str compare b is:"<<

8、strcmp(str,b)<<endl;char * substring(int start,int end)char *newstr=new charend-start+1;int i,j=0;for(i=start;i<end;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);

9、str=temp2;e=temp1;cout<<e<<endl;cout<<str<<endl; void write(char s110)ofstream out;out.open("f:filej.text",ios:out|ios:ate|ios:app); if(!out)cout<<"Can not open file !"<<endl; out<<s1<<"n" out.close(); char * read() ifstre

10、am in; in.open("f:filej.text",ios:in); if(!in)cout<<"Can 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)cout<<"Can not open

11、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)cout<<"Can not open file !"<<endl;/return NULL; while(n) char s120; cin>>s1; out<

12、;<s1<<"n" n-; cout<<"t* 文件创建成功! *t"<<endl; out.close(); int main() cout<<"n C+课程设计:字符串类的设计n" cout<<" *n" cout<<" * 设计人:刘欢 *n"cout<<" * 学号:201110910422 *n"cout<<" * 专业:计算机科学与技术2班 *n&quo

13、t; cout<<" *n"cout<<"n"<<"请输入字符串:n"write2(MAX);String:menun();cout<<"输入n选择文件中第几个字符串:n"int m;cin>>m;cout<<"建立类的对象str1:n"String str1( read2(m),12);cout<<str1.str<<endl;int k;int j=1;cout<<"请选择操

14、作<当输入为0时结束操作,退出. >n"while(j!=0&&cin>>k)switch(k)case 1:cout<<"输入m选择文件中第几个字符串复制:n" cin>>m; str1.Strcpy(read2(m);write(str1.str); cout<<"复制后的字符串:" cout<<str1.str <<endl;break; case 2:cout<<"输入m选择文件中第几个字符串链接:n" c

15、in>>m; str1.Strcat(read2(m); write(str1.str); cout<<"连接后的字符串:"<<str1.str<<endl;break; case 3:cout<<"输入m选择文件中第几个字符串进行比较:n" cin>>m; str1.Compare(read2(m);break; case 4:cout<<"下面开始求子串n" int m,n; cout<<"请输入需要取子串的起始与结束位置:

16、n" cin>>m>>n; cout<<"所求子串为: " cout<<str1.substring(m,n)<<endl;break; case 5: cout<<"输入m选择文件中第几个字符串进行交换:n" cin>>m;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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论