⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 match.cpp

📁 一个字母匹配的程序
💻 CPP
字号:
#include<String>
#include <iostream>
using namespace std;
const int maxlen=20;
class String
{
public:
	String(const String &ob);
	String();
	~String(){delete[]ch;}
	int operator !()const{return curlen==0;}
	int operator ==(const String &ob) const{return strcmp(ch,ob.ch)==0;} 
    void find();
	void change();
	int m;
private:
	int curlen;
	char *ch;
	
};


String::String(const String &ob)
{
  ch=new char[maxlen+1];
  if(!ch){cerr<<"Allocation Error\n";exit(1);}
  curlen=ob.curlen;
  strcpy(ch,ob.ch);
}


String::String()
{
ch=new char[maxlen+1];
if(!ch){cerr<<"Allocation Error\n";exit(1);}
curlen=0;
ch[0]='\0';
}



void String::find()
{
char str[21]="everythingisallright";
int i=0;char *p=ch,*s=str;
 m=0;
 cout<<"目标字符串为"<<str<<endl;
 cout<<"请输入你所想要查找的字符串,长度小于或等于20"<<endl;
 
cin>>ch;
curlen=strlen(ch);
while(i<=20-curlen)
if(*p++==*s++)
{
	if(!*p)  {m=1;cout<<"匹配成功,你所要查找的字符串的第一个字符在目标字符串的第"<<i+1<<"个位置开始"<<endl;}
}
else{i++;s=str+i;p=ch;}

if(m==0) cout<<"对不起,你所查找的字符串不在其中"<<endl;
}


void String::change()
{
	
	char n;int i=0,j;
    char str[21]="everythingisallright";
	cout<<"请输入将你查找出来的字符串改变后的字符串,长度等于你所查找的字符串"<<endl;
    while(i<=20-curlen)
	{
    	for(j=0;j<=20-curlen;j++)
		{
          if(ch[j]!=str[j+i]) 
		  {i++;break;}
          else {cin>>n;str[j+i]=n;}
		}
	
	} 
	cout<<str<<endl;
}


void main()
{
String a;
a.find();
if(a.m==1)
a.change();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -