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

โปรแกรมแปลงตัวพิมพ์เล็ก-ใหญ่ใน C

แปลงเป็นตัวพิมพ์ใหญ่ (Uppercase)

#include <stdio.h>
#include <string.h>

int main() {
    char s[100];
    int i;
    printf("\nEnter a string : ");
    fgets(s, sizeof(s), stdin);
    s[strcspn(s, "\n")] = 0;
    
    for (i = 0; s[i] != '\0'; i++) {
        if (s[i] >= 'a' && s[i] <= 'z')
            s[i] = s[i] - 32; // ASCII: 'a'=97, 'A'=65 diff=32
    }
    printf("\nString in Upper Case = %s", s);
    return 0;
}

ผลลัพธ์

Enter a string : hello world!
String in Upper Case = HELLO WORLD!

แปลงเป็นตัวพิมพ์เล็ก (Lowercase)

#include <stdio.h>
#include <string.h>

int main() {
    char s[100];
    int i;
    printf("\nEnter a string : ");
    fgets(s, sizeof(s), stdin);
    s[strcspn(s, "\n")] = 0;
    
    for (i = 0; s[i] != '\0'; i++) {
        if (s[i] >= 'A' && s[i] <= 'Z')
            s[i] = s[i] + 32;
    }
    printf("\nString in Lower Case = %s", s);
    return 0;
}

ผลลัพธ์

Enter a string : HELLOWORLD
String in Lower Case = helloworld

วิธีมาตรฐาน (แนะนำ)

ใช้ฟังก์ชันจาก <ctype.h> รองรับ Locale และปลอดภัยกว่า:

#include <ctype.h>

// Uppercase
s[i] = toupper((unsigned char)s[i]);

// Lowercase
s[i] = tolower((unsigned char)s[i]);

C++ ใช้ std::transform กับ ::toupper/::tolower