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

সি/সি++-এ ইনপুট পূর্ণসংখ্যা (Integer) কিনা যাচাই করার পদ্ধতি

প্রোগ্রামে ব্যবহারকারীর ইনপুট একটি বৈধ পূর্ণসংখ্যা (integer) কিনা তা যাচাই করতে হলে স্ট্রিং হিসেবে ইনপুট নিয়ে প্রতিটি ক্যারেক্টার চেক করতে হয়।

পদ্ধতি

  1. ইনপুট স্ট্রিং হিসেবে নিন (std::string বা char[])
  2. প্রতিটি ক্যারেক্টার লুপ করে চেক করুন isdigit() ফাংশন দিয়ে
  3. যদি কোনো নন-ডিজিট ক্যারেক্টার পাওয়া যায় তবে false রিটার্ন করুন
  4. সব ডিজিট হলে true রিটার্ন করুন

উদাহরণ (C++)

#include <iostream>
#include <string>
#include <cctype>
using namespace std;

bool isNumeric(string str) {
    for (int i = 0; i < str.length(); i++)
        if (isdigit(str[i]) == false)
            return false;
    return true;
}

int main() {
    string str;
    cout << "Enter a string: ";
    cin >> str;
    if (isNumeric(str))
        cout << "This is a Number" << endl;
    else
        cout << "This is not a number";
    return 0;
}

আউটপুট

Enter a string: 5687
This is a Number
Enter a string: 584asS
This is not a number

উন্নত সংস্করণ (সাইন এবং হোয়াইটস্পেস হ্যান্ডলিং)

bool isInteger(const string &s) {
    if (s.empty()) return false;
    size_t i = 0;
    if (s[0] == '+' || s[0] == '-') i = 1; // সাইন স্কিপ
    if (i == s.size()) return false; // শুধু সাইন হলে নয়
    for (; i < s.size(); i++)
        if (!isdigit(s[i])) return false;
    return true;
}

সি-তে (char array ব্যবহার করে)

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

int is_numeric(const char *str) {
    if (!str || !*str) return 0;
    if (*str == '+' || *str == '-') str++;
    if (!*str) return 0;
    while (*str) {
        if (!isdigit(*str)) return 0;
        str++;
    }
    return 1;
}

সামान्य ভুল

  • atoi বা strtol ব্যবহার করে ভুলভাবে চেক করা — এগুলো পার্সিং-এর সময় এরর সাইলেন্টলি হ্যান্ডেল করে
  • নেগেটিভ নম্বর বা লিডিং স্পেস হ্যান্ডল না করা
  1. C++-এ স্ট্রিংকে ক্যারেক্টার অ্যারেতে কনভার্ট করা (৩ পদ্ধতি)

  2. C/C++-এ স্ট্রিং ইন্টিজার কিনা চেক করা

  3. C#-এ স্ট্রিং প্যালিনড্রোম (Palindrome) কিনা যাচাই করা

  4. পাইথন ৩-এ রয় ইনপুট ইন্টিজার কিনা যাচাই করা