חברת Help14U נותנת שירותי תמיכה טלפונית. מוקד השירות כולל 15 עמדות תמיכה הממוספרות 0-14. שירותי התמיכה מתנהלים באופן הבא:
חברת Help14U נותנת שירותי תמיכה טלפונית. מוקד השירות כולל 15 עמדות תמיכה הממוספרות 0-14. שירותי התמיכה מתנהלים באופן הבא:
• כל מתקשר משאיר את שמו ואת מספר הטלפון שלו לרכז המערכת. • הרכז מצרף את פרטי המתקשר לאוסף הממתינים בעמדת התמיכה הכי פחות עמוסה. • כאשר עמדת התמיכה מסיימת טיפול במתקשר, פרטיו נמחקים מאוסף הממתינים בעמדה. מערכת לניהול שירות כוללת כמה מחלקות.
המחלקה Caller (מתקשר). למחלקה הוגדרו פעולה בונה ופעולות GetName() ו-GetPhone().
| פעולה | תיאור |
|---|---|
Caller (string name, string phone) | הפעולה בונה מתקשר חדש ששמו name ומספר הטלפון שלו phone |
המחלקה Service מייצגת עמדת שירות. לפניכם ממשק חלקי של המחלקה Service:
| פעולה | תיאור |
|---|---|
void AddCaller (Caller c) | מוסיפה מתקשר c לאוסף הממתינים בעמדה |
Caller Callback() | הפעולה מחזירה את המתקשר הראשון מבין הממתינים בעמדה, ומוחקת את נתוניו מאוסף הממתינים. הנחה: יש ממתינים בעמדה |
int GetNumOfCallers() | הפעולה מחזירה את מספר הממתינים בעמדה |
ניהול מוקד השירות נעשה בעזרת המחלקה Support. לפניכם ממשק חלקי של המחלקה Support:
| פעולה | תיאור |
|---|---|
void StartSupport (string name, string phone) | הפעולה מקבלת פרטים של מתקשר ומוסיפה אותו לסוף אוסף הממתינים של העמדה שמספר הממתינים בה הוא הנמוך ביותר. אם יש כמה עמדות כאלה, המתקשר יתווסף לראשונה מביניהן. |
כתבו את כותרת המחלקה Service ואת התכונות שלה. לייצוג אוסף, אפשר להשתמש במחלקות Stack, Queue, Node. אפשר להוסיף תכונות נוספות. חובה לתעד את התכונות.
Callback()
כתבו את הפעולה callback().
כתבו את כותרת המחלקה Support ואת התכונות שלה.
StartSupport()
כתבו את הפעולה startSupport().
TheBest()
הנהלת החברה החליטה לציין בסוף כל יום עבודה את פקיד/ת השרות שטיפל/ה בהכי הרבה לקוחות. ציינו שינויים נדרשים במחלקה/מחלקות וכתבו פעולה במחלקה Support המחזירה את מספר העמדה של הפקיד הכי טוב ביותר (אפשר להניח שיש רק פקיד אחד).
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.