Computer >> Máy Tính >  >> Lập trình >> C ++

Chuyển đổi các ký tự của một chuỗi thành chữ hoa chữ thường trong C ++

Chúng tôi được cung cấp một chuỗi có độ dài bất kỳ và nhiệm vụ là chuyển đổi chuỗi có chữ hoa thành chữ thường và chữ thường thành chữ hoa.

Ví dụ

Đầu vào - string str =”Chào mừng đến với Trang web!”

Đầu ra - CHÀO MỪNG BẠN ĐẾN TRANG WEB!

Giải thích - Chuyển đổi các chữ cái W, T, T, S thành chữ thường và các chữ e, l, c, o, m, e, o ,, i, t, e thành chữ hoa và nó không thực hiện bất kỳ thao tác nào đối với các ký tự đặc biệt.

Đầu vào - string str =”XIN CHÀO”

Đầu ra - xin chào

Giải thích - chuyển đổi các chữ cái H, E, L, L, E thành chữ thường.

Điều này có thể được thực hiện bằng hai cách tiếp cận khác nhau

  • Sử dụng các hàm có sẵn do C ++ cung cấp để thực hiện các thao tác này và các hàm aretoLowerCase (char) và toUpperCase (char).

  • Thông qua logic mà chúng tôi đang triển khai trong chương trình bên dưới.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập chuỗi có độ dài bất kỳ

  • Tính độ dài của chuỗi bằng cách sử dụng hàm length () sẽ trả về một giá trị nguyên theo số chữ cái trong chuỗi bao gồm cả khoảng trắng.

  • Các giá trị ASCII của chữ hoa [A-Z] bắt đầu bằng 65 đến 90 và chữ thường [a-z] bắt đầu bằng 97 đến 122.

  • Bắt đầu vòng lặp sẽ so sánh từng chữ cái trong một chuỗi. Nếu một chữ cái ở dạng chữ hoa thì hãy cộng 32 để chuyển nó thành chữ thường và nếu chữ cái đó ở dạng chữ thường thì hãy trừ 32 để chuyển nó thành chữ hoa.

  • In chuỗi.

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

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