将字符串串联转换为大写,例如AliyaZafar

convert the strings into uppercase in concatenation e.g AliyaZafar

本文关键字:例如 AliyaZafar 字符串 转换      更新时间:2023-10-16

我已经正确地编写了我的代码,它运行良好,但我想将两个字符串的第一个字母转换为大写,我不知道如何做到这一点。我已经尽力了,但找不到任何帮助。帮我

void convertToUppercase (char *);
main()
{
char firstString[50];
char secString[50];
char uppercaseFirstString[50];
char uppercasesecString[50];
char concatString[100];
cout<<"Enter String 1 : ";
cin>>firstString;
cout<<"Enter String 2 : ";
cin>>secString;
 cout<<"nn";
cout<<"The Length Of String  "<<firstString    <<" is : "<<strlen(firstString);
cout<<"n";
cout<<"The Length Of String   "<<secString  <<" is : "<<strlen(secString);
strcpy(uppercaseFirstString,firstString );
 strcpy(uppercasesecString,secString);
convertToUppercase(uppercaseFirstString);
 convertToUppercase(uppercasesecString);
cout<<"nn";
cout<<"String 1 in upper case : "<<" "<<uppercaseFirstString<<"n";
cout<<"String 2 in upper case : "<<" "<<uppercasesecString<<"n";
cout<<"nn";
if(strcmp(uppercaseFirstString,uppercasesecString)==0)
{
cout<<"Both Strings are the Same n";
}
else
{
cout<<"Both Strings are Different n";
}
strcpy(concatString,firstString);
strcat(concatString,secString);
cout<<"nn";
cout<<"Both Strings after Concatenation : " <<concatString; 
return 0;
}
void convertToUppercase (char *sptr)
{
while ( *sptr > '' )
{
if (islower(*sptr) )
*sptr = toupper ( *sptr );
++ sptr;
}
}

一个简单的方法可以看起来像

#include <iostream>
#include <cstring>
#include <cctype>
int main()
{
    char firstString[50] = "aliya";
    char secString[50] = "zafar";
    char concatString[100];
    std::strcpy( concatString, firstString );
    concatString[0] = std::toupper( ( unsigned char )concatString[0] );
    size_t n = std::strlen( concatString );
    std::strcat( concatString, secString );
    concatString[n] = std::toupper( ( unsigned char )concatString[n] );
    std::cout << """ << concatString << """ << std::endl;                                    
}

程序输出为

"AliyaZafar"

进行以下两项更改:

1) 在convertToUppercase方法中,据我所知,您正在尝试将字符串的第一个字母转换为大写。在这种情况下,您不需要while循环。

if:替换while语句

if ( *sptr > '' )

2) 当您尝试连接时,您没有使用大写转换字符串(而是使用来自用户的相同输入firstStringsecondString)。

将其替换为大写字符串,如下所示:

strcpy(concatString,uppercaseFirstString);
strcat(concatString,uppercasesecString);
相关文章: