主题:帮忙看一下哪错了
include<iostream>
# include<string.h>
using namespace std;
class Find
{
private:
char s[1000],a[100],s1[100],s2[100];
int i,j,k;
public:
void fw1(char *,char *);
void show_fw1(void);
char cz(void);
};
void Find::fw1(char *st1,char *st2)
{
strcpy(s,st1);
strcpy(a,st2);
}
void Find::show_fw1(void)
{
cout<<"范围1为:"<<s<<endl;
cout<<"范围2为:"<<a<<endl;
}
char Find::cz(void)
{
for(i=0;s[i]!='\0';i++)
{
for(j=0;s[i]!='-'&&s[i]!=','&&s[i]!='\0';i++,j++)
{
s1[j]=s[i];
}
s1[j]='\0';
if(s[i]==','||s[i]=='\0')
{
if(strcmp(a,s1)==0)
{
cout<<endl<<"在范围内!"<<endl;
return 0;
}
}
if(s[i]=='-')
{
k=0;
i++;
while(s[i]!=','&&s[i]!='\0')
{
s2[k]=s[i++];
k++;
}
s2[k]='\0';
if(strcmp(a,s1)>=0&&j<=strlen(a))
{
if(k>strlen(a))
{
cout<<endl<<"在范围内!"<<endl;
return 0;
}
if(k==strlen(a)&&strcmp(a,s2)<0)
{
cout<<endl<<"在范围内!"<<endl;
return 0;
}
}
}
}
if(s[i]=='\0')
cout<<endl<<"不在范围内!"<<endl;
return 0;
}
main()
{
Find f1;
f1.fw1("100-200,300-500","250");
f1.show_fw1();
f1.cz();
return 0;
}
# include<string.h>
using namespace std;
class Find
{
private:
char s[1000],a[100],s1[100],s2[100];
int i,j,k;
public:
void fw1(char *,char *);
void show_fw1(void);
char cz(void);
};
void Find::fw1(char *st1,char *st2)
{
strcpy(s,st1);
strcpy(a,st2);
}
void Find::show_fw1(void)
{
cout<<"范围1为:"<<s<<endl;
cout<<"范围2为:"<<a<<endl;
}
char Find::cz(void)
{
for(i=0;s[i]!='\0';i++)
{
for(j=0;s[i]!='-'&&s[i]!=','&&s[i]!='\0';i++,j++)
{
s1[j]=s[i];
}
s1[j]='\0';
if(s[i]==','||s[i]=='\0')
{
if(strcmp(a,s1)==0)
{
cout<<endl<<"在范围内!"<<endl;
return 0;
}
}
if(s[i]=='-')
{
k=0;
i++;
while(s[i]!=','&&s[i]!='\0')
{
s2[k]=s[i++];
k++;
}
s2[k]='\0';
if(strcmp(a,s1)>=0&&j<=strlen(a))
{
if(k>strlen(a))
{
cout<<endl<<"在范围内!"<<endl;
return 0;
}
if(k==strlen(a)&&strcmp(a,s2)<0)
{
cout<<endl<<"在范围内!"<<endl;
return 0;
}
}
}
}
if(s[i]=='\0')
cout<<endl<<"不在范围内!"<<endl;
return 0;
}
main()
{
Find f1;
f1.fw1("100-200,300-500","250");
f1.show_fw1();
f1.cz();
return 0;
}