Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 문자열의 문자를 반대 대소문자로 변환

<시간/>

임의의 길이의 문자열이 주어지고 대문자가 있는 문자열을 소문자로 변환하고 소문자를 대문자로 변환하는 작업입니다.

입력 − string str =”사이트에 오신 것을 환영합니다!”

출력 − 사이트에 오신 것을 환영합니다!

설명 - 문자 W, T, T, S를 소문자로 변환하고 문자 e,l,c,o,m,e,o,,i,t,e를 대문자로 변환하고 특수 문자에 대한 작업을 수행하지 않습니다.

입력 - 문자열 str ="HELLO"

출력 - 안녕하세요

설명 - 문자 H,E,L,L,E를 소문자로 변환했습니다.

두 가지 접근 방식을 사용하여 수행할 수 있습니다.

  • C++에서 제공하는 내장 함수를 사용하여 이러한 작업을 수행하고 해당 작업은 toLowerCase(char) 및 toUpperCase(char)입니다.

  • 아래 프로그램에서 구현하고 있는 로직을 통해

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 임의의 길이의 문자열 입력

  • 공백을 포함한 문자열의 문자 수에 따라 정수 값을 반환하는 length() 함수를 사용하여 문자열의 길이를 계산합니다.

  • 대문자[A-Z]의 ASCII 값은 65부터 90까지이고 소문자[a-z]는 97부터 122까지입니다.

  • 문자열의 각 문자를 비교할 루프를 시작합니다. 문자가 대문자이면 32를 더하여 소문자로 변환하고 문자가 소문자이면 32를 빼면 대문자로 변환합니다.

  • 문자열을 인쇄합니다.

예시

#include<iostream>
using namespace std;
void Convert_case(string &str){
   //calculate the length of a string
   int len = str.length();
   //converting lowercase to uppercase and vice versa
   for (int i=0; i<len; i++){
      if (str[i]>='a' && str[i]<='z'){
         str[i] = str[i] - 32;
      }
      else if(str[i]>='A' && str[i]<='Z'){
         str[i] = str[i] + 32;
      }
   }
}
int main(){
   string str = "What’s Your Name?";
   cout<<"String before conversion is: "<<str;
   Convert_case(str);
   cout<<"\nString after conversion is: "<<str;
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

String before conversion is − What’s Your Name?
String after conversion is &mius; wHAT’S yOUR nAME?