در زبان C++ یک برنامه بنویسید که یک رشته ورودی شامل نام متغیرها یا توابع (متشکل از حروف، اعداد و underscore) دریافت کند و همه حروف بزرگ در آن را با استفاده از std::tolower به حروف کوچک تبدیل کرده و نتیجه را چاپ کند.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:10 0.0
برای حل، رشته را به عنوان std::string بخوانید، با یک حلقه روی هر کاراکتر تکرار کنید و با فراخوانی std::tolower که در تعریف شده (و بهتر است با cast به unsigned char: std::tolower(static_cast(ch))) آن را به حرف کوچک تبدیل کنید؛ کاراکترهای غیرحرفی را بدون تغییر نگه دارید و خروجی نهایی را چاپ کنید. این تکنیک در پیشپردازش نامها برای کامپایلر/مفسرها یا یکسانسازی شناسهها در پردازشهای عددی و علمی مفید است؛ دقت کنید که برای جلوگیری از رفتار ناشناخته نوع char را قبل از ارسال به std::tolower به unsigned char تبدیل کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای تبدیل حروف بزرگ به کوچک در C++ از std::tolower استفاده کنید و بهمنظور جلوگیری از رفتار نامشخص، کاراکتر را با std::tolower(static_cast<unsigned char>(c)) تبدیل کنید. ورودی را میتوانید با std::getline بخوانید و بر روی هر کاراکتر با یک حلقه یا std::transform اعمال کنید تا کاراکترهای غیرحرفی بدون تغییر بمانند. اگر هدف، ساده و روشن بودن کد است، استفاده از یک lambda در std::transform برای تبدیل به حروف کوچک میتواند کد را کوتاهتر و قابل نگهداریتر کند.
گزارش