Avital-Pikovsky / Ancestor-tree

Build an ancestor tree - second assignment in C++ course.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

עץ הורים

ההורים שלכם תמיד אמרו לכם שאתם צאצאים של אדם מאד חשוב, אבל לא אמרו לכם מאיזה צד בדיוק. כדי לברר את העניין, החלטתם לבנות לעצמכם עץ הורים.

כתבו מחלקה המייצגת עץ הורים של אדם אחד. המחלקה צריכה לתמוך בפעולות הבאות:

  • addFather - הוספת אב למישהו שכבר נמצא בעץ.
  • addMother - הוספת אם למישהו שכבר נמצא בעץ.
  • relation - מקבלת שם של מישהו שנמצא בעץ, ומחזירה את היחס בינו לביניכם. למשל: father, mother, grandmother, great-grandfather, great-great-grandmother... אם הוא לא נמצא בעץ יש להחזיר unrelated.
  • find - הפונקציה ההפוכה - מקבלת מחרוזת המציינת יחס כמו למעלה, ומחזירה את שם האדם מהעץ המקיים יחס זה.
  • display - הצגת העץ, לצורך הדגמה וניפוי שגיאות. פורמט התצוגה - לבחירתכם.
  • remove - מקבלת שם של מישהו שנמצא בעץ, ומוחקת אותו ואת כל ההורים שלו מהעץ.

אם יש כמה תשובות אפשריות - יש להחזיר אחת מהן שרירותית. אם אין תשובה נכונה - יש לזרוק חריגה מתאימה.

כדי לראות איך המחלקה אמורה לעבוד, ראו בקובץ Demo.cpp המצורף.

About

Build an ancestor tree - second assignment in C++ course.


Languages

Language:C++ 99.0%Language:Shell 0.8%Language:Makefile 0.2%