C++编程 从键盘输入一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变

如输入"a123BxC",则输出"A123bXc"

请大神帮忙看看我的程序,看看哪里出错了,并指出来:
#include<iostream>
#include<string.h>
using namespace std;
int ZhuanHuan(char);

int main()
{
char a[100];
cout<<"please input a string: "<<endl;
cin>>a;

for(int i=0;i<strlen(a);i++)
{
ZhuanHuan(a[i]);
}
for(int j=0;j<strlen(a);j++)
{
cout<<a[j];
}
return 0;
}

int ZhuanHuan(char index)
{
int temp;
if(index>='a'&&index<='z')
{
temp=(int)index;
temp=index+32;
index=(char)temp;
}else if(index>='A'&&index<='Z')
{
temp=(int)index;
index=index-32;
index=(char)temp;
}else
{
return 0;
}
}

#include<iostream>
#include<string.h>
using namespace std;
void ZhuanHuan(char &); //不需要返回值

int main()
{
    char a[100];
    cout<<"please input a string: "<<endl;
    cin>>a;

    for(int i=0;i<strlen(a);i++)
    {
        ZhuanHuan(a[i]);
    }
    for(int j=0;j<strlen(a);j++)
    {
        cout<<a[j];
    }
    return 0;
}

void ZhuanHuan(char &index) //不需要返回值,用void,  二因为要带回数据,所以要用引用
{
    if(index>='a'&&index<='z')
    {
index += 'A'-'a' ;
    }else if(index>='A'&&index<='Z')
    {
index += 'a'-'A' ;
    }
}

温馨提示:答案为网友推荐,仅供参考