در زبان 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 تبدیل کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:10
دسته بندی ها: C Plus Plus C Plus Plus for beginner
nima در 221 روز قبل ساعت 14:18

برای تبدیل حروف بزرگ به کوچک در C++ از std::tolower استفاده کنید و به‌منظور جلوگیری از رفتار نامشخص، کاراکتر را با std::tolower(static_cast<unsigned char>(c)) تبدیل کنید. ورودی را می‌توانید با std::getline بخوانید و بر روی هر کاراکتر با یک حلقه یا std::transform اعمال کنید تا کاراکترهای غیرحرفی بدون تغییر بمانند. اگر هدف، ساده و روشن بودن کد است، استفاده از یک lambda در std::transform برای تبدیل به حروف کوچک می‌تواند کد را کوتاه‌تر و قابل نگهداری‌تر کند.

گزارش

1 پاسخ

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

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