برنامه‌ای به زبان 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 استفاده نمایید — این روش در نوشتن مفسرها/کامپایلرها برای خواندن لیترال‌های عددی و نیز پردازش داده‌های عددی در محاسبات علمی مفید است.

توسط پژوهشگر در 220 روز قبل ساعت 01:47
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 220 روز قبل ساعت 12:00

نکتهٔ مهم این است که std::stod را می‌توانید همراه با متغیر size_t pos استفاده کنید تا تعداد کاراکترهای مصرف‌شده را بگیرد و بفهمید حد فاصل عدد تا بقیه رشته کجاست. std::stod پیش‌فضاهای خالی را نادیده می‌گیرد، اما برای امنیت بیشتر از pos استفاده کنید تا بخش عددی به درستی استخراج شود. بلوک try/catch را برای پیاده‌سازی std::invalid_argument و std::out_of_range جهت مدیریت خطاها در نظر بگیرید. برای نمایش خروجی با دقت بالا می‌توانید از std::setprecision همراه با std::fixed یا std::scientific استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری