PDA

View Full Version : مبتدی: برنامه مدیریت کتابخونه به صورت کاملا ساده



durango
یک شنبه 15 آذر 1394, 21:13 عصر
سلام
می خوام یه برنامه بنویسم که یه کتابخونه رو مدیریت کنه
حذف و اضافه کردن کتاب و ...
قطعه کد نمی خوام!
فقط می خوام بدونم چجوری کلاس ها رو بنویسم و متدهای کلاسها به صورت کلی چجوری باشن
تا الان یه کلاس Library نوشتم و یک کلاس book

amirtork
یک شنبه 15 آذر 1394, 21:19 عصر
سلام،
پیشنهاد من برای انجام پروژه ای مثل این، این هست که ابتدا روی کاغذ تمام عوامل موجود و دخیل در یک کتابخونه در دنیای واقعی رو بنویسید و روابط بین اون ها رو مشخص کنید، بعد عوامل مدیریتی که لازم هست رو اعمال کنید.
حالا دسته بندی کنید، این کار بهتون کمک میکنه تا انسجام فکری خوبی رو بدست بیارید، کلاس ها و شکل کلی متد ها رو هم به راحتی بعد از اینکار خودتون متوجه میشید.
(حتی میتونید دست به تحقیق میدانی کوچیکی هم بزنید تا به خوبی با چگونگی انجام پروسه ی کتابداری بیشتر آشنا بشید و با درک بیشتر و ذهن باز تر و خلاقیت بیشتری شروع به نوشتن برنامه بکنید;-) )

durango
یک شنبه 15 آذر 1394, 21:28 عصر
خیلی ممنون
ولی یه خرده توضیحات بیشتر میخوام
مثلا تو چجوری کلاس کتابخونه رو با کلاس کتاب ارتباط بدم؟
مثلا وقتی کاربر یه کتاب جدید میسازه کل شی کتاب رو ارسال کنم به کلاس کتابخونه؟

amirtork
یک شنبه 15 آذر 1394, 21:39 عصر
کتابخونه از یک سری اشیای مشخص تشکیل شده، مثل کادر اجرایی، پرونده های اعضا، لیست دارایی ها و ... .
یکی از اساسی ترین این اشیا، کتاب ها هستند.
برای اینکه بتونید کتاب ها رو با کتابخونه ارتباط بدید، باید ابتدا کلاسی رو به عنوان کتاب تعریف کنید که دارای یک سری ویژگی های مشخص باشه(همونطور که خودتون هم اینکار رو کردید) از جمله ی این ویژگی ها: ۱- صاحب فعلی کتاب ۲- تاریخ تحویل گرفتن کتاب ۳- تاریخ پیشبینی شده برای تحویل دادن کتاب ۴- عنوان کتاب ۵- ناشر ۶- ... .
بعد از تعریف این کلاس، در داخل کلاس کتابخونه که تعریف کردید، باید یک ویژگی برای ‌ذخیره کردن لیست کتاب های موجود داشته باشید، که از نوع کلاس کتاب(book) که تعریف کردیم باشه. مثلا:
vector <Book> bookList;
حالا برای اینکه مثلا یک کتاب رو به یک کاربر تحویل میدید، این تغییر در بخش صاحب فعلی کتاب که یکی از ویژگی های کلاس کتاب هست اعمال میشه.
این یک ایده بود که من در حال حاضر به ذهنم رسید، اگر خودتون هم ایده های (نه لزوما)بهتر به ذهنتون رسید بفرمایید تا درموردشون صحبت کنیم.

durango
دوشنبه 16 آذر 1394, 13:22 عصر
برنامه رو تقریبا نوشتم!
برای اینکه از کلاس Library بتونم به فیلدهای کلاس Book دسترسی داشته باشم
کلاس Library رو به صورت friend تعریف کردم.

amirtork
دوشنبه 16 آذر 1394, 16:12 عصر
تبریک!
میتونستید برای دسترسی پیدا کردن به فیلد های book ماژول هایی برای تغییر و دریافت مقدار فیلد های این کلاس به صورت public در داخل کلاس تعریف کنید و از اونها استفاده کنید، اینطوری کلاستون جنبه ی عمومی تری پیدا میکرد.

durango
دوشنبه 16 آذر 1394, 21:13 عصر
این کار رو هم انجام دادم چند متد برای جستجو و اضافه کردن و حذف و قرض دادن کتاب و پس گرفتن کتاب توی کلاس Library ایجاد کردم.حالا یک سوال:برای تبدیل اینها به سی شارپ تغییرات زیادی جز سینتکس که نمیخواد؟

amirtork
دوشنبه 16 آذر 1394, 21:44 عصر
با وجود اینکه کدتون رو ندیدم سخته گفتنش!
ولی اگر به صورت استاندارد نوشته باشید فکر نمیکنم زیاد کار سختی رو در پیش داشته باشید برای تبدیل این کد به کد c#