Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การสลับตัวพิมพ์เล็ก-ใหญ่ในสตริงใน C++


โปรแกรมนี้แปลงตัวอักษรในสตริงให้เป็นตัวพิมพ์ใหญ่ แม้จะทำได้ง่ายด้วยเมธอด 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