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

C++-এ কাস্টম এক্সেপশন ব্যবহার করে ইউজারনেম ভ্যালিডেশন প্রোগ্রাম


ধরা যাক ইউজারনেমের একটি স্ট্রিং দেওয়া আছে। আমাদের যাচাই করতে হবে ইউজারনেমটি বৈধ কিনা কিছু শর্ত অনুযায়ী। ৫ অক্ষরের চেয়ে ছোট হলে কাস্টম এক্সেপশন থ্রো করতে হবে। বৈধ হলে "Valid", অবৈধ হলে "Invalid", ছোট হলে এক্সেপশন।

বৈধতা শর্ত:

  • ইউজারনেম কমপক্ষে ৫ অক্ষরের হতে হবে
  • সংশ্লিষ্ট 'w' দুটি একসাথে থাকবে না

উদাহরণস্বরূপ, unames = ["amit", "to", "paul_tim", "greg_harry", "towwer"] হলে আউটপুট: [Too short: 4, Too short: 2, Valid, Valid, Invalid]

সমাধানের ধাপসমূহ

  • BadLengthException ক্লাস তৈরি করুন যাতে length সংরক্ষণ করা যায়
  • validation(u_name) ফাংশন:
    • যদি দৈর্ঘ্য < 5 হয়, তবে BadLengthException থ্রো করুন
    • লুপ চালিয়ে consecutive 'w' চেক করুন
    • বৈধ হলে true, অবৈধ হলে false রিটার্ন করুন
  • main-এ প্রতিটি ইউজারনেমের জন্য try-catch দিয়ে ভ্যালিডেট করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন:

#include <iostream> #include <vector> #include <exception> using namespace std; class BadLengthException{     public:     int x;     BadLengthException(int n) {         x=n;     }     int what() const throw(){return x;} }; bool validation(string u_name) {     bool isValid = true;     int n = u_name.length();     if(n < 5) {         throw BadLengthException(n);     }     for(int i = 0; i < n-1; i++) {         if(u_name[i] == 'w' && u_name[i+1] == 'w') {             isValid = false;         }     }     return isValid; } int main() {     vector<string> unames = {"amit", "to", "paul_tim", "greg_harry", "towwer"};     for(int i = 0; i < unames.size(); i++){         string u_name = unames[i];         try {             bool isValid = validation(u_name);             if(isValid) cout << "Valid" << '\n';             else cout << "Invalid" << '\n';         } catch (BadLengthException e) {             cout << "Too short: " << e.what() << '\n';         }     } } 

ইনপুট

{"amit", "to", "paul_tim", "greg_harry", "towwer"}

আউটপুট

Too short: 4 Too short: 2 Valid Valid Invalid

  1. C++-এ কোনের ফ্রাস্টামের ভলিউম এবং সারফেস এরিয়া বের করার প্রোগ্রাম

  2. C++-এ কিউবয়েডের ভলিউম এবং সারফেস এরিয়া বের করার প্রোগ্রাম

  3. C++-এ কিউবের ভলিউম এবং সারফেস এরিয়া বের করার প্রোগ্রাম

  4. C++-এ কুইকসর্ট (QuickSort) প্রোগ্রাম