دریافت رشته از ورودی در سی

در زبان سی دریافت رشته با مشکلات پنهان بسیار زیادی همراه است.
برنامه نویسان معمولا از تابع gets برای دریافت رشته استفاده می کنند دریغ از این که این تابع یک مشکل بزرگ دارد.
در صورتی که از این تابع به همراه دستور scanf استفاده کنیم این مشکل ظاهر می شود.
دستور scanf وقتی که ورودی را در متغیر ذخیره می کند، بافر (حافظه موقت میانی) را پاک نمی کند. از آن جایی که تابع gets هم با بافر کار می کند در این گونه مواقع مقدار قبلی بافر را برمی گرداند.
پس باید حتما قبل از استفاده کردن از تابع gets بافر را پاک کنیم. روش های متفاوتی برای این کار وجود دارد اما این روش ها توسط بسیاری از کامپایلرها پشتیبانی نمی شوند. (با کمی جستجو در اینترنت متوجه این موضوع می شوید.)
اما در این جا من به جای تابع gets یک تابع مشابه و بسیار ساده به نام getLine نوشتم که دیگر از بافر استفاده نمی کند و می تواند یک خط کامل را (به همراه فاصله) از ورودی دریافت کند و در آرایه ی کاراکتری ذخیره کند.

(بیشتر…)

کلاس Person در جاوا نسخه ی Exception دار

نمونه کلاسی به اسم Person که از استثناها پشتیبانی می‌کند.
کلاس Person ویژگی های زیر را دارد:
ا- اسم
۲- جنسیت
۳- سن
در این کلاس نمونه، در صورتی که مقادیر غیر مجاز به کلاس داده شود، استثنای لازم تولید می‌شود تا در کلاس مشتری(دمو) بتوان استثنا را مدیریت کرد.

(بیشتر…)

گرفتن یک رشته با فاصله از ورودی و ذخیره در آرایه ی کاراکتری با تابع gets در سی و سی پلاس پلاس

برنامه ای در سی و سی پلاس پلاس که یک رشته که در آن کاراکتر فاصله هم وجود دارد را دریافت، و در یک آرایه ی کاراکتری ذخیره کند و در نهایت رشته را چاپ کند.

(بیشتر…)

یک نمونه کلاس کامل در جاوا

نمونه کلاسی که از به غیر از ویژگی های وراثت در جاوا از تمامی قابلیت های شی گرایی استاندارد جاوا استفاده کند.
– دو فیلد، متغیر عددی و متغیر رشته ای
– سازنده ی کامل و پیش‌فرض و کپی
– متدهای set و get برای هر دو فیلد برای حفظ قوانین کپسول سازی و چک کردن ‌مقادیر مجاز برای ذخیره کردن در دو فیلد
– متد clone برای برگرداندن یک کپی از شی جاری
– متد equals برای مقایسه کردن شی جاری با یک شی هم‌نوع دیگر
– متد toString برای چاپ کردن مقادیر تمام فیلدها
در نهایت هم یک کلاس Demo برای آزمایش تمام قابلیت های کلاس وجود دارد.

(بیشتر…)