Menu
Coddy logo textTech

מבנה הפרויקט

חלק מהיחידה תכנות מונחה עצמים במסלול ה-C# של Coddy. שיעור 62 מתוך 70.

challenge icon

אתגר

קל

בואו נבנה את הבסיס לפרויקט מערכת הספרייה שלך! תיצור מבנה קבצים בסיסי שיתפתח ליישום מלא לניהול ספרייה במהלך השיעורים הבאים.

תארגן את הקוד שלך בארבעה קבצים, שלכל אחד מהם אחריות מסוימת:

  • Book.cs: הקובץ הזה יכיל את מודל הספר שלך. לעת עתה, צור מחלקה בשם Book במרחב השמות LibrarySystem עם שלוש תכונות אוטומטיות: Title (string), Author (string) ו-IsAvailable (bool, עם ערך ברירת מחדל true). הוסף בנאי שמקבל את הכותרת ואת שם המחבר כפרמטרים.
  • User.cs: הקובץ הזה יכיל את מודל המשתמש שלך. צור מחלקה בשם User באותו מרחב שמות, עם שתי תכונות: Name (string) ו-MemberId (int). הוסף בנאי שמקבל את שני הערכים.
  • Library.cs: כאן תמוקם הלוגיקה המרכזית שלך. צור מחלקה בשם Library עם תכונה בשם Name (string) ובנאי שיקבע את הערך שלה. הוסף מתודה בשם GetInfo() שמחזירה מחרוזת בתבנית "{Name} Library System Initialized".
  • Program.cs: כאן תחבר את הכול. זוהי נקודת הכניסה שלך, שבה תיצור מופעים של המחלקות ותוודא שהמבנה פועל כהלכה.

תקבל שלוש קלטים:

  • שם הספרייה
  • רשומת ספר בתבנית title|author
  • רשומת משתמש בתבנית name|memberId

צור מופע של Library עם השם שסופק, מופע של Book עם הכותרת ושם המחבר שסופקו, ומופע של User עם השם ומזהה החבר שסופקו. לאחר מכן הדפס שלוש שורות:

  1. התוצאה של קריאה ל-GetInfo() עבור הספרייה שלך
  2. פרטי הספר בתבנית Book: {Title} by {Author} - Available: {IsAvailable}
  3. פרטי המשתמש בתבנית User: {Name} (ID: {MemberId})

לדוגמה, אם הקלטים הם:

City Central
The Great Gatsby|F. Scott Fitzgerald
Alice Johnson|1001

הפלט צריך להיות:

City Central Library System Initialized
Book: The Great Gatsby by F. Scott Fitzgerald - Available: True
User: Alice Johnson (ID: 1001)

המבנה הזה פועל לפי עקרון האחריות היחידה — כל קובץ מטפל בנושא מסוים אחד. בשיעורים הבאים תרחיב את המחלקות האלה עם לוגיקה להשאלת ספרים, יכולת חיפוש וממשק קונסולה מלא!

נסו בעצמכם

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // קראו את הקלטים
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // נתחו את קלט הספר (פורמט: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // נתחו את קלט המשתמש (פורמט: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: צרו מופע של Library עם שם הספרייה

            // TODO: צרו מופע של Book עם הכותרת והמחבר

            // TODO: צרו מופע של User עם השם ומזהה החבר

            // TODO: הדפיסו את פרטי הספרייה באמצעות GetInfo()

            // TODO: הדפיסו את פרטי הספר בפורמט: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: הדפיסו את פרטי המשתמש בפורמט: User: {Name} (ID: {MemberId})
        }
    }
}

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר C# אונליין