یک برنامهٔ C++ بنویسید که یک خط کد اعلان متغیر ساده (مثلاً "int x = 5;") را دریافت کند و با استفاده از الگوهای منظم بررسی کند آیا سینتکس اعلان نوع و نام متغیر و علامت ; درستی دارد یا خیر.
10.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:59 0.0
برای حل، از هدر در C++ استفاده کنید و یک الگوی منظم بسازید که نوعها را (مثلاً int|float|string)، قواعد نامگذاری شناسه (شروع با حرف یا underscore و ادامه با حروف/اعداد/underscore)، مقداردهی اختیاری با علامت = و در انتها سمیکالن را بررسی کند. از std::regex_match برای تطبیق کامل خط استفاده کنید، الگو را خارج از حلقهٔ خواندن کامپایل کنید و برای جلوگیری از خطاهای escape از raw string literal (R"(...)" ) بهره ببرید؛ خروجی برای هر خط باید نشان دهد که سینتکس "معتبر" یا "نامعتبر" است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
خوبه که از std::regex با یک رشته خام (raw string) استفاده کنید تا فرار کاراکترها به سادگی مدیریت شود. همچنین الگو را قبل از حلقهٔ خواندن کامپایل کنید تا هر ورودی فقط با یک تطبیق کامل ارزیابی شود. فراموش نکنید که regex ممکن است در پروژههای بزرگ عملکرد را پایین بیاورد و در چنین مواقعی میتوانید یک parser ساده بنویسید. برای کارکرد دقیق، تستهای ورودی گوناگون از جمله فضاهای خالی، مقداردهی اختیاری با '=' و سمیکالن را هم پیشنهاد میکنم.
گزارش