예제 #1
0
        /// <summary>
        /// наполняем жулнал оценками
        /// </summary>
        /// <param name="subject">предмет</param>
        public static void InitSubject(ISubject subject)
        {
            //минимальное и максимальное количество оценок по предмету
            const int MINCOUNTMARKS = 7;
            const int MAXCOUNTMARKS = 10;

            //генерируем количество оценок
            int marksCount = randomCount.Next(MINCOUNTMARKS, MAXCOUNTMARKS);

            //минимальная и максимальная оценка
            const int MINMARK = 3;
            const int MAXMARK = 12;

            //добавляем оценку
            for (int i = 0; i < marksCount; i++)
            {
                subject.AddMark(randomMark.Next(MINMARK, MAXMARK));
            }
        }
예제 #2
0
        /// <summary>
        /// добавить оценку
        /// </summary>
        /// <param name="subject"></param>
        public static void AddMark(IStudent student, ISubject subject, int i)
        {
            //минимальное количество оценок для вызова делегата-80%
            int minCountMarks = subject.Marks.Length * 80 / 100;

            int mark = EnterData("Enter mark: ");

            try
            {
                subject.AddMark(mark);
            }
            catch (MarkException exception)
            {
                WriteLine(exception.Message);
            }

            //вызов делегатов
            if (subject.Count >= minCountMarks)
            {
                student.Subjects[i].MarkSubjects?.Invoke(subject);
                student.Subjects[i].StudentGoNext?.Invoke(subject);
            }
        }