一道C++编程题,求大神解决!!!!求代码。。。

输入一个字符串,存入数组a,将其复制到数组b,然后将数组b中所有小写字母改为大写字母,再将a中字符串连接到b。比较并输出a,b中的字符串的大小,最后输出a,b中的字符串。

要求:
(1)不能使用strcpy,strcat等字符串库函数。
(2)在子函数Converse()中进行大小写转换,在子函数Connect()中连接二个字符串,在子函数Compare()中比较二个字符串的大小。

例:
输入:abcdefg
输出:
字符串a:abcdefg
字符串b:ABCDEFGabcdefg
比较结果:a > b

2 个回答

include<iostream>

using namespace std;
class Test{
public:
void Mystrcpy(char* p1, char* p2)
{
while(p2!='\0'){
*p1=
p2;
p1++;
p2++;

}
p1 = '\0';
}
void Converse(char *t)
{

while (
t!='\0')
{
if (*t>='a' && *t<='z')
{
*t-=32;
}
t++;
}
}

void Connect(char* str1, char* str2)
{
    while(*str1!='\0'){
        str1++;
    }
    while(*str2!='\0'){
        *str1=*str2;
        str1++;
        str2++;
    }
    *str1 = '\0';
}

int Mystrlen(char * str)
{
    int num=0;
    while(*str!='\0'){
        num++;
        str++;
    }
    return num;
}

};

int main()
{
char a[20];
char b[40];
cout<<"請輸入字符串a:"<<endl;
cin>>a;
Test t;
t.Mystrcpy(b,a);
t.Converse(b);
t.Connect(b,a);
cout<<"a是大小:"<<t.Mystrlen(a)<<" b大小:"<<t.Mystrlen(b)<<endl;
if(t.Mystrlen(a)>=t.Mystrlen(b)){
if(t.Mystrlen(a)==t.Mystrlen(b)){
cout<<"一樣大"<<endl;
}
cout<<"a大"<<endl;

}else{
    cout&lt;&lt;&quot;b大&quot;&lt;&lt;endl;
}
cout&lt;&lt;&quot;a:&quot;&lt;&lt;a&lt;&lt;endl;
cout&lt;&lt;&quot;b:&quot;&lt;&lt;b&lt;&lt;endl;
return 0;

}