উদাহরণ 01:
সুতরাং, আমরা 'nano' নির্দেশ সহ 'new.cc' ফাইলটি খুলেছি। এই ফাইলটি শেলের 'টাচ' ক্যোয়ারী ব্যবহার করে তৈরি করা হয়েছে। ফাইলটি এখন ন্যানো এডিটরে একটি খালি ফাইল হিসাবে চালু করা হয়েছে। আমরা শীর্ষে ইনপুট-আউটপুট 'iostream' হেডার ফাইল যোগ করেছি। আমাদের কোডের সেটপ্রেসিশন() পদ্ধতি ব্যবহার করার জন্য 'iomanip' লাইব্রেরি যোগ করা হয়েছে। এর পরে, আমরা কোড এবং সিনট্যাক্সের স্ট্যান্ডার্ড পদ্ধতি ব্যবহার করছি তা নিশ্চিত করতে আমরা স্ট্যান্ডার্ড নেমস্পেস 'std' ব্যবহার করেছি। সামগ্রিক কোড C++ কোডের প্রধান() ফাংশনের মধ্যে সম্পাদিত হয়েছে। এই উদ্দেশ্যে অন্য কোন ব্যবহারকারী-সংজ্ঞায়িত ফাংশন ব্যবহার করা হয় না।
main() ফাংশনের মধ্যে, আমরা ডাবল ভ্যালু সহ একটি ডাবল টাইপ ভেরিয়েবল 'v' শুরু করেছি। প্রথম 'cout' স্ট্যান্ডার্ড স্টেটমেন্ট কোনো আপডেট ছাড়াই শেলের প্রকৃত ডবল ভেরিয়েবল মান 'v' প্রদর্শন করে। এর পরে, প্রতিটিতে setprecision() পদ্ধতি ব্যবহার করার জন্য আমরা 8টি cout স্টেটমেন্ট ব্যবহার করেছি। এটি প্রতিবার 'v' ভেরিয়েবলের প্রতিটি ফ্লোটিং-পয়েন্টে সেটপ্রেসিশন() প্রয়োগ করা। আপনাকে অবশ্যই বুঝতে হবে যে সেটপ্রিসিশন শুধুমাত্র 5-এর চেয়ে বেশি বা সমান মানের উপর কাজ করে। যদি ফ্লোটিং-পয়েন্ট মান 5-এর থেকে বড় হয়, তাহলে এটি তার আগে মান বৃদ্ধি করবে।
উদাহরণস্বরূপ, 1ম ফ্লোটিং-পয়েন্টে সেটপ্রেসিশন() পয়েন্টের পরে “5” কে রাউন্ড অফ করবে এবং “4” মান 5 এ রূপান্তরিত হবে। একইভাবে, 2য় ফ্লোটিং-পয়েন্ট মান “2” কে রাউন্ড অফ করা যাবে না, 3য় ফ্লোটিং-পয়েন্ট মান “7” মান “2” কে “3” এ রূপান্তর করবে, 4র্থ ফ্লোটিং-পয়েন্ট মান “4” কে রাউন্ড অফ করা যাবে না এবং 5ম ফ্লোটিং-পয়েন্ট মান “9” মান “4” কে রূপান্তর করবে ” এর আগে ৫টা। '0' পয়েন্টে '4' মানটিকে 5 এ রূপান্তর করবে। নেতিবাচক সেটপ্রেসিশন() পুরো প্রকৃত মান প্রদর্শন ছাড়া কিছুই করে না। ফ্লোটিং পয়েন্ট 0 থেকে 5 এবং -1, -2 এর সমস্ত মান সেটপ্রেসিশন() প্রয়োগ করার পরে প্রদর্শিত হবে:
G++ কম্পাইলেশন ক্যোয়ারী এবং './a.out' এক্সিকিউশন ক্যোয়ারী সহ সেটপ্রিসিশন C++ কোড কম্পাইল এবং চালানোর সময় এসেছে। আউটপুট দেখায় যে প্রথম সেটপ্রিসিশন(1) 4 থেকে 5 রূপান্তর করে। সেটপ্রিসিসন(2) কিছুই করেনি এবং '4.5' প্রদর্শন করে। সেটপ্রিসিশন(3) মানটিকে “4.52” থেকে “4.53” এ বৃদ্ধি করেছে। সেটপ্রিসিশন(4) “4.527” মানকে কিছুই করে না। সেটপ্রিসিশন(5) মানটিকে “4.5274” থেকে “4.5275” এ বৃদ্ধি করে। সেটপ্রেসিশন(0) মানটিকে 5 এ বৃদ্ধি করেছে। সেটপ্রিসিসন(-1) এবং সেটপ্রিসিসন(-2) নিচের মতো কিছুই করেনি:
$ g++ new.cc$ / a.out
উদাহরণ 02:
আরেকটা দৃষ্টান্ত দেখে নেওয়া যাক। কোডটি উপরের উদাহরণের অনুরূপ, শুধুমাত্র এর cout বিবৃতিতে পরিবর্তন সহ। প্রথম cout মূল মান দেখায় যখন পরের দুটি ফ্লোটিং পয়েন্ট 1 এবং 5 এ setprecision() এর ফলাফল দেখায়। শেষ cout ফ্লোটিং-পয়েন্ট 9 এ setprecision() পদ্ধতির ফলাফল প্রদর্শন করে, যা শারীরিকভাবে উপলব্ধ নয়। 1 এবং 5 ফ্লোটিং-পয়েন্ট ফলাফলগুলি বেশ প্রত্যাশিত, তবে আমরা ফ্লোটিং-পয়েন্ট 9 সম্পর্কে কিছু বলতে পারি না। আসুন ফাইলটি এক্সিকিউট করি এবং এই কোডটির আউটপুট কী হবে তা পরীক্ষা করি:
# অন্তর্ভুক্ত করুন# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
int প্রধান ( ) {
দ্বিগুণ ভিতরে = 4.52749 ;
cout << 'নির্ধারণের আগে মান: ' << ভিতরে << ' \n ' ;
cout << নির্ভুলতা ( 1 ) << 'ভাল 1 এ:' << ভিতরে << ' \n ' ;
cout << নির্ভুলতা ( 5 ) << 'Val at 5:' << ভিতরে << ' \n ' ;
cout << নির্ভুলতা ( 9 ) << '9 এ ভ্যাল:' << ভিতরে << ' \n ' ;
ফিরে 0 ;
}
এই কোডটি সংকলন এবং কার্যকর করার পরে, আমাদের কাছে ফ্লোটিং-পয়েন্ট মানের '4.52749' এর অবস্থান 1 এবং 3-এ নির্ভুলতার জন্য সুস্পষ্ট ফলাফল রয়েছে। সেটপ্রিসিশন 9 এর ফলাফল ডবল ভেরিয়েবল 'v' এর প্রকৃত মান দেখায়। অবস্থান 9-এর মান স্থির না হওয়ার কারণে এটি হতে পারে:
$ g++ new.cc$ / a.out
চলুন একটি ভেরিয়েবল 'v' এর মান ঠিক করতে কোডটি আবার আপডেট করি। সুতরাং, ভেরিয়েবলের 1ম অবস্থানে প্রয়োগ করা প্রথম setprecision() cout স্টেটমেন্টের পরে, আমরা cout-এ স্থির ভেরিয়েবল ব্যবহার করেছি:
# অন্তর্ভুক্ত করুন# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
int প্রধান ( ) {
দ্বিগুণ ভিতরে = 4.52749 ;
cout << 'নির্ধারণের আগে মান: ' << ভিতরে << ' \n ' ;
cout << নির্ভুলতা ( 1 ) << 'ভাল 1 এ:' << ভিতরে << ' \n ' ;
cout << স্থির ;
cout << নির্ভুলতা ( 5 ) << 'Val at 5:' << ভিতরে << ' \n ' ;
cout << নির্ভুলতা ( 9 ) << '9 এ ভ্যাল:' << ভিতরে << ' \n ' ;
ফিরে 0 ;
}
এই আপডেট করা কোডটি কম্পাইল এবং চালানোর পরে, আমরা একটি ভেরিয়েবল 'v' এর অবস্থান 9 এ সেট প্রিসিশনের স্থির ফলাফল পেয়েছি, অর্থাৎ, 4.527490000:
$ g++ new.cc$ / a.out
উপসংহার:
অবশেষে, এটি একটি ডাবল ভেরিয়েবলের মান রাউন্ড অফ এবং প্রদর্শন করতে C++ কোডে setprecision() পদ্ধতি ব্যবহার করার বিষয়ে ছিল। আমরা কোডে স্থির ভেরিয়েবল এবং তাদের সুবিধাগুলিও ব্যাখ্যা করেছি। এছাড়াও, C++ এ সেট নির্ভুলতার ধারণা ব্যাখ্যা করার জন্য আমরা দুটি গুরুত্বপূর্ণ উদাহরণ প্রয়োগ করেছি। আমরা আশা করি আপনি এই নিবন্ধটি সহায়ক পেয়েছেন। আরও টিপস এবং টিউটোরিয়ালের জন্য অন্যান্য লিনাক্স ইঙ্গিত নিবন্ধগুলি দেখুন।