برای این سوال تابع های اصلی رو که داریم (main,input,mannager) حالا برای اینکه باید مستقل باشه دو برنامه از هم بیا قبل از اینکه وارد input بشی وارد کلاسی به اسم setUser بشو و از طریق اون یه public bool نوع کاربر از نظر مشتری یا ادمین بودن رو تایین کن.
برای ادامه میتونی دوتا input و mannager مستقل بزنی یا اینکه بیایی باهم پردازشش کنی (تقریبا همونه فقط بجای دوتا میشه یکی که پیشنهاد من دوتا مستقله که ادامه روش رو براساس همین مورد میگم)
الان اخر کلاس user باید بگی که بره به کدوم manager و input توی کلاس ورودی که باید تابع ها(اگه ریجکس بلدی که با اون) و مواردی شناسایی commond line رو بزنی که وقتی یه دستوری رو میگیره اون اطلاعات مورد نیاز رو بده برای مثال دستور زیر رو بگیره و good_id
و count
رو بده بهمون:
order <good_id> -c <count/weight/etc ..>
وقتی که ورودی رو گرفتی و خواستی که پردازشش کنی باید بفرستی به منیجر که اینجا اگه توی input_admin باشی میفرستی به mannager_admin اگه هم توی costumer هستی باید بره توی اون.
یه کلاس کالا هم باید داشته باشی که متغییرها name
و good_id
و count
و sell_price
و buy_price
رو داشته باشه بعد اینجا یه کار با فایل داره که بزنی کل داده هات رو بگیره و بریزه توی لیستی از این کلاس (میتونی هم لیست کلاس نزنی و توی خود کلاس لیست رو بزنی ولی همین لیستی از کلاس ها بهتره) بعد یه سری متغییر هایی باید تعریف کنی که مقدار فروش یا خریدت رو توشون ذخیره کنی (برای کامنت های مالی - راه اصلی که اصلا باگ نداره اینه که بیایی توی همون کلاس هر کالا یه متغییر sold_number
بزاری که خودم فعلا نذاشتم چون خر کاری داره و باید یبار دیگه فور بزنی روی کالا ها و اینو محاسبه کنی ولی کدت قشنگ تر میشه).
یکی دیگه از کلاس هایی هم که نیازه کلاس order
هست، توی این کلاس هم باید مثل همون کالا بکنی که ویژگی ها رو بزنی و بعد یه لیستی ازش تشکیل بدی. ویژگی ها هم costumer_id
، good_id
، count
، date/time
و processed
هست که اون آخری مربوط به انجام شدن یا نشدن سفارش میشه این متدهاش رو میزنی و تموم. فقط برای بعضی از توابع میتونی از shared library استفاده کنی که نمیدونم چیه و چه کاربری داره (صرفا فک کنم جلوی خرکاری رو میگیره)
برای متد چاپ جدول اون کالاهای موجود و ناموجود هم میتونی از t\
استفاده کنی که اون فاصله ها هم به هم نریزه:))