কম্পিউটার টিউটোরিয়াল

সি ভাষায় ইনপুট ক্যারেক্টার অ্যালফাবেট, ডিজিট নাকি স্পেশাল ক্যারেক্টার চেক করা

সি প্রোগ্রামিং-এ একটি ক্যারেক্টার গ্রহণ করে সেটি ইংরেজি অক্ষর (A-Z, a-z), সংখ্যা (0-9) নাকি স্পেশাল ক্যারেক্টার — তা চেক করার সাধারণ পদ্ধতি নিচে দেওয়া হলো।

লজিক

  • অ্যালফাবেট: 'A' <= ch && ch <= 'Z' বা 'a' <= ch && ch <= 'z'
  • ডিজিট: '0' <= ch && ch <= '9'
  • স্পেশাল ক্যারেক্টার: উপরের দুটি বাদে বাকি সব

উদাহরণ

#include <stdio.h>
#include <ctype.h> // isalpha, isdigit, ispunct ইত্যাদির জন্য

int main() {
    char ch;
    printf("Enter a character: ");
    scanf(" %c", &ch); // স্পেস দিয়ে লিডিং নিউলাইন এড়ানো হয়

    if (isalpha(ch))
        printf("This is an alphabet");
    else if (isdigit(ch))
        printf("This is a number");
    else
        printf("This is a special character");

    return 0;
}

আউটপুট (নমুনা)

Enter a character: F
This is an alphabet
Enter a character: r
This is an alphabet
Enter a character: 7
This is a number
Enter a character: #
This is a special character

বিকল্প পদ্ধতি (লাইব্রেরি ফাংশন ব্যবহার করে)

<ctype.h> হেডার থেকে নিচের ফাংশনগুলো ব্যবহার করা ভালো — এটি লোকেল-এওয়্যার (locale-aware) এবং পোর্টেবল:

  • isalpha(ch) — অক্ষর কিনা
  • isdigit(ch) — ডিজিট কিনা
  • isalnum(ch) — অ্যালফানিউমেরিক কিনা
  • ispunct(ch) — পাঙ্কচুয়েশন/স্পেশাল ক্যারেক্টার কিনা
  • isspace(ch) — হোয়াইটস্পেস কিনা

দ্রষ্টব্য

  • scanf(" %c", &ch) এ স্পেস দিয়ে পূর্বের নিউলাইন ক্যারেক্টার এড়ানো হয়
  • এস্কি (ASCII) বেসড চেক করলে নন-ইংরেজি ক্যারেক্টার (যেমন বাংলা, একসেন্টেড লেটার) সঠিক চেক হয় না — সেক্ষেত্রে ctype.h ফাংশন বা Unicode লাইব্রেরি ব্যবহার করুন
  1. JavaScript-এ ইনপুট সংখ্যা নাকি অক্ষর চেক করা (isNaN)

  2. সুইফটে স্ট্রিং-এ স্পেশাল ক্যারেক্টার আছে কিনা চেক করার পদ্ধতি

  3. পাইথনে স্ট্রিংয়ে কোনো স্পেশাল ক্যারেক্টার আছে কিনা তা যাচাই করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: স্ট্রিং-এ কোনো ইউনিক ক্যারেক্টার (স্পেশাল ক্যারেক্টার) আছে কিনা যাচাই করা