שאלות תרגיל בית 1

הבהרות לגבי תרגיל הבית

הבהרות לגבי תרגיל הבית

על ידי רים דלאשה בתאריך
מספר תגובות: 1

רוצה לשאול לגבי החזרת השגיאה out of memory:

1.כתוב שצריך לשחרר כל ההקצאות עד השורה הזאת , אז האם גם צריך לעשות destroyElection ?

2.וכתוב לעצור התוכנית , אז האפשרות היחידה להשתמש ב exit1 אבל לפי מה שזוכרת אמרתם בהרצאות שבקורס שלנו עדיף לא להשתמש ב exit.

3.עשיתי ADT ל area אז האם אני חייבת לעשות  enum :areaResult for the errors  ?

כי החזרנו השגיאות דרך הelection (כלומר אחרי כל קריאה לאחת מפונקציות ה area החזרנו השגיאה דרך הפונקציה הקוראת ב election ) ,

כי הם השגיאות של הarea נכללות בשגיאות של הelection  ולכן לא רצינו לשכפל אותו קוד .

 4. לגבי חלק היבש שאלה 2 :

"בשמות המשתנים צריכים להיות ברורים בלי קיצורים" אז השתמשנו בשגיאה זו עבור str , וגם עבור out שצריך להיות str_out ...

אז האם שתי השגיאות האלה נחשבות שגיאה אחת ?

בתגובה ל: רים דלאשה

תשובה ל: הבהרות לגבי תרגיל הבית

על ידי אורטל כהן בתאריך
היי,
כפי שכתוב ב-FAQ של התרגיל (מצטטת): "במקרה זה, יש לשחרר את כל הזכרון שהוקצה באותה הפונקציה הנוכחית עד לנקודת התרחשות השגיאה.
לאחר מכן יש להחזיר את ערך השגיאה ELECTION_OUT_OF_MEMORY.
(על המשתמש ב-ADT מסוג Election לבדוק בעת שימוש בפונקציות את ערך החזרה המתקבל,
במידה והתקבל ערך החזרה הנ"ל הוא ישחרר כל זכרון נוסף שהקצה ויסיים את ריצת התכנית.)"
זה אמור לענות לך על שאלות 1+2.
3. אני כותבת את דעתי, אני לא יכולה להגיד אם אתם חייבים או לא כי זה מאוד תלוי מימוש,
יכול להיות שאתם צריכים בפונקציות מסוימות שכתבתם להחזיר סוגי שגיאות שונות ואז כן עדיף את ה-enum כדי שהמשתמש ב-ADT ידע מה הסיבה לשגיאות וכיצד לטפל בהם.