رسول مدنی
رسول مدنی
خواندن ۳ دقیقه·۶ ماه پیش

تمرین جاوا – برنامه بانک نرم افزار دانشگاهی


 تمرین جاوا - برنامه بانک نرم افزار دانشگاهی
تمرین جاوا - برنامه بانک نرم افزار دانشگاهی


تمرین جاوا – برنامه بانک نرم افزار دانشگاهی

می خواهیم برنامه بانک نرم افزار دانشگاهی را پیاده سازی کنیم. بانک نرم افزار محلی است در دانشگاه که دانشجویان می توانند از آن نرم افزار قرض بگیرند. برای قرض گرفتن نرم افزار تا یک هفته، هزینه ای دریافت نمی شود، اما بعد از یک هفته به ازای هر روز تاخیر، جریمه ای مشخص دریافت می شود.

هنگامی که یکی از اعضای بانک برای گرفتن یا برگرداندن CD یا DVDبه بانک مراجعه می کند، مسئول بانک، نام عضو، نام نرم افزار و تاریخ را در یک لیست وارد می کند.

امکانی را برای مسئول بانک نرم افزار فراهم کنید که از روی این لیست گزارش های زیر را بتواند بگیرد:

۱ - جریمه همه اعضا را محاسبه کنند.

۲ - فهرستی از نرم افزارهای امانت گرفته شده را به دست آورد.

در برنامه خود، پنج کلاس به نام های Bank, Date, Person, Disc, Borrow تعریف کنید.

کلاس :Borrow

برای عملیات قرض گرفتن نرم افزار استفاده می شود.

متدهای مورنیاز این کلاس:

  • Borrow (string disc, Date date);
  • Date getDate();
  • bool isLate(Date deliveryDate);
  • string getDiscName();

کلاس :Person

برای نگهداری اطلاعات یک عضو استفاده می شود.

متدهای موردنیاز این کلاس:

  • Person (string name);
  • string getName();
  • int getLateDays();
  • void borrow(Disc disc, Date date);
  • void deliver (Disc disc, Date date);

ورودی برنامه:

ورودی لیستی است که توسط مسئول بانک نرم افزار نوشته می شود. در اولین خط، ابتدا n یعنی تعداد رخدادها (تحویل یا دریافت نرم افزار ) و سپس t که برابر با میزان جریمه به ازای هر روز دیرکرد است وارد می شود.


سپس در nخط بعدی، در هر خط یک رخداد توصیف می شود. در ابتدای توصیف هر رخداد سه عدد صحیح که نشان دهنده روز، ماه، و سال روی دادن آن رخداد هستند قرار می گیرد. فرض کنید این تاریخها مطابق تقویم شمسی هستند و مقادیر آنها صحیح است. همچنین فرض کنید که ماه اسفند همیشه 29 روز است و سال کبیسه نداریم.

پس از تاریخ، نام عضو و بعد از آن نام نرم افزار داده می شود. فرض کنید که هر دو نام فقط از حروف الفبا تشکیل شده اند. همچنین فرض کنید که هیچ دو عضو و یا هیچ دو نرم افزاری نام یکسان ندارند (یعنی از هر نرم افزار فقط یک نسخه داریم ).

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

مثلا قبل از اینکه یک نرم افزار بازگردانده شود عضو دیگری آن را قرض نمی گیرد.

خروجی برنامه:

در خروجی ابتدا در یک خط عبارت “ : Fines” را چاپ کنید و در خطوط بعدی به ازای هر یک از اعضا مطابق خروجی نمونه، نام و میزان جریمه او را نشان دهید. پس از آن در یک خط دیگر عبارت ” :‌ Borrowed Discs” را نمایش داده و در خطوط پس از آن فهرستی از نرم افزارهایی که هنوز بازگردانده نشده اند را بنویسید. ترتیب نمایش اعضا و نرم افزارها اهمیتی ندارد.


تمرین جاوا
تمرین جاوا




کدهای حل این تمرین در گیتهاب :‌

https://github.com/RasoulMadani/software-bank-excersize-with-java-oop-and-test-it


تمرین جاواجاواشی گراییبرنامه نویسینرم افزار
برنامه نویس جاوا
شاید از این پست‌ها خوشتان بیاید