কম্পিউটার

একটি নির্দিষ্ট বিন্যাসে মান মুদ্রণ করার জন্য C++ প্রোগ্রাম


ধরুন আমাদের তিনটি দ্বিগুণ মান দেওয়া হয়েছে। আমাদের সেগুলি ফরম্যাট করতে হবে এবং নিম্নলিখিত ফর্ম্যাটে প্রিন্ট করতে হবে৷

  • আমাদের ছোট হাতের অক্ষর সহ হেক্সাডেসিমেল বিন্যাসে প্রথম মানের পূর্ণসংখ্যার অংশটি প্রিন্ট করতে হবে।

  • আমাদের দ্বিতীয় মানটি দুই দশমিক স্থান পর্যন্ত মুদ্রণ করতে হবে, এটির আগে একটি চিহ্ন বসিয়ে তা ধনাত্মক নাকি ঋণাত্মক তা দেখাতে হবে। প্রিন্ট করার জন্য দ্বিতীয় মানটি সঠিক হতে হবে এবং 15টি অক্ষর দীর্ঘ, বাম অব্যবহৃত অবস্থানে আন্ডারস্কোর সহ প্যাড করা উচিত।

  • আমাদের বৈজ্ঞানিক স্বরলিপিতে নয় দশমিক স্থান পর্যন্ত তৃতীয় মানটি প্রিন্ট করতে হবে।

সুতরাং, যদি ইনপুট হয় 256.367, 5783.489, 12.5643295643, তাহলে আউটপুট হবে

0x100
_______+5783.49
1.256432956E+01

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • হেক্স পতাকা হেক্সাডেসিমেল বিন্যাসে মানটি প্রিন্ট করে, শোবেস পতাকা হেক্স মানের জন্য '0x' উপসর্গ দেখায়, বাম পতাকাটি মানের ডানদিকে ফিল অক্ষর সন্নিবেশিত করে আউটপুট ক্ষেত্রে মানটিকে প্যাড করে এবং নপারকেস পতাকাটি প্রিন্ট করে সমস্ত ছোট হাতের অক্ষরে আউটপুট।

  • ডান পতাকাটি মানের বাম দিকে ফিল অক্ষর সন্নিবেশ করে আউটপুট ক্ষেত্রের মানকে প্যাড করে, স্থির পতাকা একটি নির্দিষ্ট-বিন্দু স্বরলিপিতে মানগুলিকে মুদ্রণ করে, সেট(15) আউটপুট ক্ষেত্রের দৈর্ঘ্য 15 এ সেট করে, শোপোস পতাকা আউটপুটের আগে একটি '+' চিহ্ন সন্নিবেশ করায়, সেটফিল('_') আউটপুটকে আন্ডারস্কোর দিয়ে প্যাড করে এবং সেটপ্রেসিশন() মানের যথার্থতা 2 দশমিক স্থান পর্যন্ত সেট করে।

  • setprecision() মানটির যথার্থতা 9 দশমিক স্থান পর্যন্ত সেট করে, বৈজ্ঞানিক পতাকা একটি বৈজ্ঞানিক নোটেশনে মানটি প্রিন্ট করে, বড় হাতের সমস্ত বড় হাতের অক্ষরে আউটপুট মান তৈরি করে, এবং noshowpos আউটপুট মানের আগে কোনো ইতিবাচক চিহ্ন বাদ দেয়।

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <iostream>
#include <iomanip>
using namespace std;

void solve(double a, double b, double c) {
   cout << hex << showbase << nouppercase << left << (long long) a << endl;
   cout << right << fixed << setw(15) << setfill('_') << setprecision(2) << showpos << b << endl;
   cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl;
}
int main() {
   solve(256.367, 5783.489, 12.5643295643);
   return 0;
}

ইনপুট

256.367, 5783.489, 12.5643295643

আউটপুট

0x100
_______+5783.49
1.256432956E+01

  1. শুভ জন্মদিন প্রিন্ট করার জন্য C++ প্রোগ্রাম

  2. একটি অক্ষরের ASCII মান খুঁজে পেতে C++ প্রোগ্রাম

  3. ব্যবহারকারী দ্বারা প্রবেশ করা নম্বর মুদ্রণের জন্য C++ প্রোগ্রাম

  4. একটি পূর্ণসংখ্যা প্রিন্ট করার জন্য জাভা প্রোগ্রাম