ערכתי לאחרונה בתאריך 12.06.15 בשעה 19:41 בברכה, ShocKi
מה שהם רוצים שתעשה זה:
אם הקוד קיים לעדכן מלאי. אם לא קיים אז לבדוק שמערך המצביעים יכול לקבל קוד נוסף ואם כן אז להוסיף אותו.כאן יש 2 אופציות:
1. העובדה שאתה מקבל SIZE מרמזת קצת שזה מערך סטאטי, אם זה מערך סטאטי אז במידה ונגמר המקום אין לך מה לעשות. אתה פשוט אומר שאיאפשר להוסיף. אם אפשר אז אתה פשוט מקצה מבנה למוצר חדש ומוסיף את המצביע שלו לתא הפנוי הבא בתור.
2. אם זה מערך דינאמי אז לבדוק שמערך המצביעים יכול לקבל קוד נוסף, אם לא יכול אז להגדיל את מערך המצביעים ע"י realloc. אם זה הצליח אז להקצות מבנה חדש עבור ה KEY שקלטת ולהוסיף את הפוינטר הזה למערך המצביעים.
שים לב שיש 2 אפשרויות להחזיר שגיאה:
1. אם איאפשר להקצות מקום למערך המצביעים.
2. אם איאפשר להקצות מקום למוצר חדש.
בכל אחד מהמימושים, אם הקוד כבר קיים במערך אז אין לך בעיה של הקצאת מקום. הבעיה היחידה שתהייה לך זה אם הכמות יהיה מספר גדול מידי לאחסון עבור הגודל נתון. למשל אם תרצה מלאי של 826582659265927 עבור int זה לא יהיה אפשרי. אתה מוגבל בגודל הנתון. אתה תצטרך לבדוק שאין חריגה מגודל הנתון. לחילופין, אני מניח בפונקציה אחרת יכולה להיות לך בעיה של מה קורה אם מלאי מוצר יורד ל 0. האם אתה מוחק את המוצר לגמרי או שזה נשאר עם מלאי 0 במערך?
קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.