برنامهای به زبان C++ بنویسید که یک رشته ورودی را دریافت کند، اولین عدد ممیز شناور (که ممکن است به صورت اعشاری یا علمی باشد) را با استفاده از std::stod استخراج کند و مقدار عددی آن را چاپ نماید.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:47 0.0
برای حل این مسئله از هدر و تابع std::stod استفاده کنید؛ std::stod میتواند پیشفضاهای خالی را نادیده بگیرد و با آرگومان size_t میتوانید تعداد کاراکترهای مصرفشده را بگیرید تا مطمئن شوید عدد و انتهای آن را یافتهاید. خطاها را با بلوک try/catch برای استثناهای std::invalid_argument و std::out_of_range مدیریت کنید و برای نمایش دقیقتر خروجی از و std::setprecision یا std::fixed/std::scientific استفاده نمایید — این روش در نوشتن مفسرها/کامپایلرها برای خواندن لیترالهای عددی و نیز پردازش دادههای عددی در محاسبات علمی مفید است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهٔ مهم این است که std::stod را میتوانید همراه با متغیر size_t pos استفاده کنید تا تعداد کاراکترهای مصرفشده را بگیرد و بفهمید حد فاصل عدد تا بقیه رشته کجاست. std::stod پیشفضاهای خالی را نادیده میگیرد، اما برای امنیت بیشتر از pos استفاده کنید تا بخش عددی به درستی استخراج شود. بلوک try/catch را برای پیادهسازی std::invalid_argument و std::out_of_range جهت مدیریت خطاها در نظر بگیرید. برای نمایش خروجی با دقت بالا میتوانید از std::setprecision همراه با std::fixed یا std::scientific استفاده کنید.
گزارش