임의의 길이의 문자열이 주어지고 대문자가 있는 문자열을 소문자로 변환하고 소문자를 대문자로 변환하는 작업입니다.
예
입력 − 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?