Description
תרגול 8# – מחסן סחורות
בתרגול זה נמדל מחסן סחורות .
נממש מחלקה בשם StoreHouse שלה שתי פעולות:
1. order – קבל סחורה: סוג הסחורה והכמות הם פרמטרים. את הסחורה המוזמנת יש לאחסן, בתנאי שיש די מקום לשם כך .
אחרת יש לזרוק חריגה בשם OverStockException.
2. supply – מסור סחורה: שוב, סוג הסחורה והכמות הם פרמטרים. את הסחורה המבוקשת יש להוציא מהמחסן, בתנאי שיש די פריטים במלאי. אחרת יש לזרוק חריגה
.OutOfStockException בשם
את פריטי הסחורה נמדל באמצעות מחלקה אחרת ,Product, ששומרת את שם המוצר ואת מספר הפריטים המקסימלי שיש מקום להחזיק במלאי .
• יש לספק כרגיל שיטות גישה ושיטת toString לכל המחלקות.
הורידו את הקובץ: storehouse.txt שמכיל רצף פעולות עבור קלט התוכנית. יש להזין את שם הקובץ כפרמטר בשורת פקודה בשיטה הראשית.
כתבו את המחלקה Lab09Test המכילה שיטת main שאמורה לבדוק את הקוד שכתבתם באופן כזה שאתם קולטים את הפקודות מקובץ הקלט הנתון ומבצעת שורה שורה.
קובץ הקלט עשוי להכיל שורות משלושה סוגים:
1. define – מגדיר סוג סחורה חדש. בשורה זו יופיעו שם הסחורה, ומספר הפריטים המקסימלי מסוג זה שניתן לאגור במחסן .
2. order – מגדיר הזמנת סחורה. בשורה זו יופיעו שם הסחורה ומספר הפריטים שהוזמנו ,אותם יש לאגור במחסן.
3. supply – מגדיר הוראת אספקה. בשורה זו יופיעו שם הסחורה ומספר הפריטים שיש לספק מהמלאי שבמחסן.
קלט לדוגמא:
define shoe 20 order shoe 10 return shirt 2 (!שימו לב: בשורה זו יש פקודה שגויה)
supply shoe 5
define shoe 20 order shoe 10 define shirt 30 order shirt 10 return shirt 2
define pants 15 define hat 10 supply shoe 5 order shoe 8 supply gloves 2 order pants 10 supply hat 4
order pants 10 supply shirt 20 supply shoe 10
order pants 10מה שמופיע לעיל בצבע אדום הוא הסבר – איננו חלק מהקלט .
על מנת לא ליצור כפילויות במוצרים יש לנהל את רשימת המוצרים (ללא מלאי) כבר במחלקה הראשית (דלפק קבלה/משרד) וכך לשלוח למחסן את המוצר עצמו( product) לביצוע הפעולה. פלט הריצה המצופה על קובץ הקלט התון:
Defined product shoe Ordered 10 shoe
StoreHouse:
1. shoe – 10 end of list
Defined product shirt Ordered 10 shirt StoreHouse:
1. shirt – 10
2. shoe – 10
end of list
Unrecognized operation return
StoreHouse:
1. shirt – 10
2. shoe – 10
end of list
Defined product pants
Defined product hat Supplied 5 shoe StoreHouse:
1. shirt – 10
2. shoe – 5
end of list
Ordered 8 shoe StoreHouse:
1. shirt – 10
2. shoe – 13
end of list
Unknown product gloves Ordered 10 pants StoreHouse:
1. shirt – 10
2. shoe – 13 3. pants – 10
end of list
Product <hat> is out of stock: 4 are needed but only 0 are in stock.
Product <pants> is overstocked: there are 10 in stock already, and additional 10 are supplied, but there is room for only 15
Product <shirt> is out of stock: 20 are needed but only 10 are in stock. Supplied 10 shoe StoreHouse:
1. shirt – 10
2. hat – 0
3. shoe – 3 4. pants – 10
end of list
Product <pants> is overstocked: there are 10 in stock already, and additional 10 are supplied, but there is room for only 15
בהצלחה!




Reviews
There are no reviews yet.