یک برنامه به زبان C++ بنویسید که یک شناسه (identifier) را از ورودی می‌گیرد و با استفاده از std::strlen طول آن را محاسبه کرده و چاپ کند و سپس بگوید آیا طول شناسه برای یک مفسر ساده قابل قبول است (مثلاً بین 1 تا 31 کاراکتر).

4.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:43

0.0

برای حل این مسئله از هدر و تابع std::strlen استفاده کنید؛ ورودی را با std::string یا آرایهٔ char بگیرید و اگر از std::string استفاده کردید مقدار c_str() را به std::strlen بدهید تا طول به‌دست آید (نوع بازگشتی size_t). سپس طول را با بازهٔ موردنظر مقایسه کنید و پیام مناسب چاپ کنید. نکات: از std::getline برای خواندن کامل خط استفاده کنید، فاصله‌های اضافی را در نظر بگیرید و اگر برنامه در زمینهٔ کامپایلر/مفسر یا محاسبات علمی به‌کار می‌رود، به محدودیت طول شناسه‌ها توجه داشته باشید و از کاراکترهای چندبایتی (UTF-8) صرف‌نظر کنید یا جداگانه مدیریتشان کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:43
دسته بندی ها: C Plus Plus C Plus Plus for beginner
arman در 202 روز قبل ساعت 08:41

نکته مفید: در برابر std::strlen، ورودی باید یک رشته با پایان NULL باشد؛ اگر از std::string استفاده می‌کنید، طول را از طریق s.c_str() به strlen بدهید تا بازگشت size_t را به دست آورید. همچنین توجه کنید strlen تا '\0' را می‌سنجد و کاراکترهای چندبایتی (UTF-8) ممکن است باعث اختلاف با شمارش کاراکترها شوند، بنابراین برای مفسر ساده بهتر است فقط ASCII را در نظر بگیرید یا جداگانه محاسبه کنید. اگر getline را برای خواندن خط استفاده می‌کنید، فاصله‌های اضافی را در نظر بگیرید و امکان وجود فضاهای داخلی در شناسه را در نظر بگیرید. طول را با بازه 1 تا 31 مقایسه کنید و پیامی مناسب چاپ کنید.

گزارش

1 پاسخ

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

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