Chương trình này chuyển đổi các ký tự của chuỗi thành chữ hoa. Tuy nhiên, nhiệm vụ này có thể dễ dàng đạt được bằng phương thức toUpper() của thư viện lớp C++. Nhưng trong chương trình này, chúng ta thực hiện bằng cách tính giá trị ASCII của ký tự chữ hoa. Thuật toán như sau:
Thuật toán
BẮT ĐẦU Bước 1: Khai báo mảng ký tự Bước 2: Kiểm tra giá trị ASCII của ký tự chữ hoa phải lớn hơn 'A' và nhỏ hơn 'Z' Bước 3: Kiểm tra giá trị ASCII của ký tự chữ thường phải lớn hơn 'a' và nhỏ hơn 'z' KẾT THÚC
Phương thức toggleChars() nhận mảng ký tự làm đầu vào. Sau đó, duyệt qua vòng lặp để đảm bảo giá trị ASCII của ký tự nhập vào có nằm giữa A đến Z hay không, như sau:
Ví dụ
#include<iostream>
using namespace std;
void toggleChars(char str[]) {
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'A' && str[i] <= 'Z')
str[i] = str[i] + 'a' - 'A';
else if (str[i] >= 'a' && str[i] <= 'z')
str[i] = str[i] + 'A' - 'a';
}
}
int main() {
char str[] = "ajay@kumar#Yadav";
cout << "Chuỗi trước khi đảo::" << str << endl;
toggleChars(str);
cout << "Chuỗi sau khi đảo::" << str;
return 0;
}
Chuỗi cung cấp hầu như tất cả ký tự ở chữ thường sẽ được chuyển thành chữ hoa như sau:
Kết quả
Chuỗi trước khi đảo::ajay@kumar#Yadav Chuỗi sau khi đảo::AJAY@KUMAR#yADAV