ধরুন আমাদের ব্যবহারকারীর নামের একটি স্ট্রিং আছে এবং আমাদের কিছু শর্তের ভিত্তিতে ব্যবহারকারীর নাম বৈধ কি না তা পরীক্ষা করতে হবে। সুতরাং আমাদের একটি ব্যতিক্রম সংজ্ঞায়িত করতে হবে যেটি নিক্ষেপ করা হয় যখন ব্যবহারকারীর নামের দৈর্ঘ্য 5 অক্ষরের কম হয়। আমাদের বৈধ ব্যবহারকারীর নামের জন্য "বৈধ", অবৈধ ব্যবহারকারীর নামের জন্য "অবৈধ" এবং ছোট ব্যবহারকারী নামের জন্য ব্যতিক্রম থ্রো করতে হবে। বৈধ ব্যবহারকারীর নাম শর্ত হল −
-
ব্যবহারকারীর নাম অবশ্যই পাঁচ-অক্ষর দীর্ঘ হতে হবে
-
ব্যবহারকারীর নামে পরপর দুটি 'w' থাকা উচিত নয়
সুতরাং, যদি ইনপুটটি unames =["amit", "to", "paul_tim", "greg_harry", "towwer"] এর মত হয়, তাহলে আউটপুট হবে [খুব ছোট:4, খুব ছোট:2, বৈধ, বৈধ। , অবৈধ] কারণ প্রথম দুটি খুব ছোট, এবং শেষটির দুটি পরপর 'w' আছে। অন্যরা ভালো আছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
BadLengthExcaption
নামে একটি ব্যতিক্রম সংজ্ঞায়িত করুন -
এটি দৈর্ঘ্যের বার্তা দেবে
-
একটি ফাংশন বৈধতা সংজ্ঞায়িত করুন(), এটি u_name,
নেবে -
isValid :=সত্য
-
n :=u_name এর আকার
-
যদি n <5, তাহলে:
-
একটি BadLengthException(n)
নিক্ষেপ করুন
-
-
আরম্ভ করার জন্য i :=0, যখন i
-
যদি u_name[i] 'w' এর মত হয় এবং u_name[i + 1] হয় 'w' এর মত, তাহলে:
-
isValid :=মিথ্যা
-
-
-
ফেরত বৈধ
-
প্রধান পদ্ধতি থেকে নিম্নলিখিতগুলি করুন:
-
সকল ইউজারনেম u_name এর জন্য unname, do
-
যাচাই করুন(u_name)
-
যদি বৈধ প্রিন্ট VALID
-
অন্যথায় যখন অবৈধ প্রিন্ট INVALID
-
অন্যথায় দৈর্ঘ্য ছোট হলে প্রিন্ট খুব ছোট
-
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#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