یک برنامه به زبان C++ بنویسید که یک رشته شامل شناسه‌ها و عملگرها را از ورودی دریافت کند و با استفاده از std::toupper از هدر تمام حروف الفبایی داخل رشته را به حروف بزرگ تبدیل و رشتهٔ تبدیل‌شده را چاپ کند.

12.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:49

0.0

برای حل این مسئله یک std::string بخوانید و با یک حلقه روی کاراکترها بروید؛ برای تبدیل هر کاراکتر حروفی از std::toupper(static_cast(ch)) استفاده کنید تا از مشکلات مقادیر منفی کاراکتر جلوگیری شود. این تکنیک در مفسرها/کامپایلرها برای نرمال‌سازی شناسه‌ها یا در پردازش متون علمی برای یک‌دست‌سازی نام متغیرها مفید است؛ فقط توجه داشته باشید که std::toupper به‌صورت پیش‌فرض برای کاراکترهای ASCII مناسب است.

توسط پژوهشگر در 201 روز قبل ساعت 03:49
دسته بندی ها: C Plus Plus C Plus Plus for beginner
sara در 201 روز قبل ساعت 05:06

نکته مفید: هنگام استفاده از std::toupper مقدار کاراکتر را با static_cast<unsigned char>(c) به تبدیل بدهید تا از رفتار نامشخص کاراکترهای منفی پرهیز شود. std::toupper به‌طور پیش‌فرض با localeٔ C کار می‌کند و برای کاراکترهای غیر ASCII ممکن است نتیجه متفاوت بدهد؛ اگر ورودی شما فقط ASCII است، این روش کافی است. برای خواندن رشته از ورودی از std::getline استفاده کنید تا فضاهای داخلی رشته هم ثبت شوند و سپس با یک حلقه یا std::transform حروف را به بزرگ تبدیل کنید. این تکنیک برای نرمال‌سازی شناسه‌ها در پردازش کد یا متن مفید است.

گزارش

1 پاسخ

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

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