لديك ثلاثة قوائم مختلفة في برنامجك، تتضمن الطلاب والمقررات والدرجات. ما ترغب في فعله هو استخدام بعض خصائص المقررات والطلاب في خاصية الدرجات. يمكنك تحقيق هذا الهدف عن طريق تعديل الفئة “grade” لتأخذ معلومات الطالب والمقرر كخصائص لها.
للقيام بذلك، يمكنك تغيير نوع القائمة “grades” إلى قائمة من كائنات الدرجات، حيث يحتوي كل كائن درجة على معلومات الطالب والمقرر بالإضافة إلى القيمة والفصل. إليك كيف يمكنك تحقيق ذلك في الكود:
csharpusing System;
using System.Collections.Generic;
namespace educationsystem
{
public class student
{
public int scode { get; set; }
public string name { get; set; }
public string lastname { get; set; }
public long phone { get; set; }
}
public class course
{
public int code { get; set; }
public string name { get; set; }
public int unit { get; set; }
}
public class grade
{
public student studentinfo { get; set; }
public course courseinfo { get; set; }
public double value { get; set; }
public int term { get; set; }
}
public class education
{
static void Main(string[] args)
{
List Students = new List();
List courses = new List();
List grades = new List();
Students.Add(new student { scode = 1, name = "mahta", lastname = "sahabi", phone = 3244 });
Students.Add(new student { scode = 2, name = "niki", lastname = "fard", phone = 5411 });
Students.Add(new student { scode = 3, name = "hana", lastname = "alipoor", phone = 6121 });
courses.Add(new course { code = 1, name = "Mathemathics", unit = 3 });
courses.Add(new course { code = 2, name = "physics", unit = 3 });
courses.Add(new course { code = 3, name = "computer", unit = 3 });
// تقوم بإضافة درجات الطلاب بالطريقة التالية
grades.Add(new grade { studentinfo = Students[0], courseinfo = courses[0], value = 20, term = 1 });
grades.Add(new grade { studentinfo = Students[0], courseinfo = courses[1], value = 18, term = 1 });
grades.Add(new grade { studentinfo = Students[1], courseinfo = courses[0], value = 15, term = 1 });
// طباعة درجات الطلاب
foreach (var grade in grades)
{
Console.WriteLine($"{grade.studentinfo.name} {grade.studentinfo.lastname} {grade.courseinfo.name} {grade.value}");
}
Console.ReadKey();
}
}
}
في هذا الكود، قمت بتغيير نوع القائمة “grades” إلى قائمة من كائنات الدرجات. ثم، أضفت بعض الدرجات للطلاب بطريقة مناسبة، حيث يتم تحديد الطالب والمقرر وقيمة الدرجة والفصل. في النهاية، تم طباعة درجات الطلاب بالاعتماد على المعلومات المتوفرة في كل كائن درجة.
المزيد من المعلومات
بالطبع، دعنا نواصل تطوير المقال للتعمق في الفهم والاستفادة القصوى من البرنامج.
توسيع البرنامج:
الآن بما أننا قمنا بإضافة الدرجات للطلاب والمقررات، يمكننا توسيع البرنامج ليشمل مجموعة من الوظائف الإضافية والتحسينات التي تزيد من فعاليته وفعاليته. إليك بعض الأفكار التي يمكن تطبيقها:
-
حساب متوسط الدرجات:
يمكننا إضافة وظيفة لحساب متوسط الدرجات لكل طالب في مجموعة معينة من المقررات. -
عرض تقرير الأداء:
يمكننا إضافة وظيفة تعرض تقريرًا لأداء الطلاب، بما في ذلك متوسط الدرجات وأعلى وأدنى الدرجات. -
تحسين إدارة الطلاب والمقررات:
يمكننا تحسين واجهة المستخدم للبرنامج لتشمل إضافة وحذف الطلاب والمقررات، بالإضافة إلى تعديل المعلومات الحالية. -
تخزين البيانات:
يمكننا استخدام قاعدة بيانات لتخزين بيانات الطلاب والمقررات والدرجات بشكل دائم، مما يجعل البرنامج أكثر قوة ومرونة.
الإجراءات اللاحقة:
بعد توسيع البرنامج، يمكنك متابعة التطوير باستمرار لتلبية احتياجاتك واحتياجات المستخدمين. يمكنك استكشاف تقنيات جديدة وتطبيقها في البرنامج، مثل استخدام واجهات المستخدم الرسومية لتحسين تجربة المستخدم، أو تنفيذ نماذج تعلم آلي لتوقع الأداء الطلابي.
الختام:
في النهاية، تطوير البرمجيات يتطلب الالتزام بمراحل مختلفة من التخطيط والتنفيذ والاختبار والتحسين المستمر. من خلال الاستمرار في تطوير البرنامج وتوسيع ميزاته، يمكنك تحقيق أقصى استفادة منه وتلبية احتياجات المستخدمين بشكل فعال.