โปรแกรมนี้แปลงตัวอักษรในสตริงให้เป็นตัวพิมพ์ใหญ่ แม้จะทำได้ง่ายด้วยเมธอด toUpper() ของไลบรารี C++ แต่โปรแกรมนี้ทำโดยการคำนวณค่า ASCII ของตัวอักษรในตัวพิมพ์ใหญ่ อัลกอริทึมมีดังนี้
อัลกอริทึม
เริ่มต้น ขั้นตอนที่ 1: ประกาศอาร์เรย์ตัวอักษร ขั้นตอนที่ 2: ตรวจสอบค่า ASCII ของตัวพิมพ์ใหญ่ ซึ่งต้องมากกว่า A และน้อยกว่า Z ขั้นตอนที่ 3: ตรวจสอบค่า ASCII ของตัวพิมพ์เล็ก ซึ่งต้องมากกว่า a และน้อยกว่า z จบ
เมธอด toggleChars() รับอาร์เรย์ตัวอักษรเข้ามา จากนั้นวนลูปเพื่อตรวจสอบว่าค่า ASCII ของตัวอักษรที่ป้อนอยู่ระหว่าง A ถึง Z หรือไม่
ตัวอย่าง
#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 << "String before toggle::" << str << endl; toggleChars(str); cout << "String after toggle::" << str; return 0; }สตริงที่ป้อนเข้ามามีตัวอักษรส่วนใหญ่เป็นตัวพิมพ์เล็ก ซึ่งจะถูกแปลงเป็นตัวพิมพ์ใหญ่
ผลลัพธ์
String before toggle::ajay@kumar#Yadav String after toggle::AJAY@KUMAR#yADAV