123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace School
- {
- abstract class AbstractClass
- {
- public abstract int CountSkip(int CountWorkDays); //Для посчета пропусков
- public abstract double AvgRating(int CountRating); //Для посчета среднего бала
- public abstract void ReadDiary(); // Для прочтения дневника
- }
- class BaseClass : AbstractClass
- {
- protected int CountSkips;
- protected double AvgRatings;
- protected int[] ArraySkip;
- protected int[] ArrayRating;
- public override int CountSkip(int CountWorkDays)
- {
- ArraySkip = new int[CountWorkDays];
- for (int i = 0; i < CountWorkDays - 1; i++)
- {
- if (ArraySkip[i] == 0)
- {
- CountSkips++;
- }
- }
- return CountSkips;
- }
- public override double AvgRating(int CountRating)
- {
- ArrayRating = new int[CountRating];
- AvgRatings = ArrayRating.Average();
- return AvgRatings;
- }
- public override void ReadDiary()
- {
- if (ArraySkip != null || ArrayRating != null)
- {
- Console.WriteLine("Пропуски");
- Console.WriteLine("Всего: " + CountSkips);
- Console.WriteLine("По дням: ");
- for (int i = 0; i < ArraySkip.Length; i++)
- {
- if (ArraySkip[i] == 0)
- {
- Console.WriteLine(i + 1 + " ");
- }
- }
- Console.WriteLine("Оценки");
- Console.WriteLine("Средний бал: " + AvgRatings);
- Console.WriteLine("По дням: ");
- for (int i = 0; i < ArrayRating.Length; i++)
- {
- if (ArraySkip[i] != 0)
- {
- Console.WriteLine(i + 1 + " день оценка " + ArrayRating[i]);
- }
- }
- }
- else
- {
- Console.WriteLine("Дневник пуст");
- }
-
-
- }
- }
- class DerivedClass : BaseClass
- {
- public new int CountSkip(int CountWorkDays)
- {
- ArraySkip = new int[CountWorkDays];
- for (int i = 0; i < ArraySkip.Length; i++)
- {
- Console.WriteLine("Был ли ученик в " + (i + 1) + " день учебы? ( 1 - да / 0 - нет )");
- ArraySkip[i] = Convert.ToInt32(Console.ReadLine());
- if (ArraySkip[i] == 0)
- {
- CountSkips++;
- }
- }
- return CountSkips;
- }
- public override double AvgRating(int CountRating)
- {
- ArrayRating = new int[CountRating];
- for (int i = 0; i < ArrayRating.Length; i++)
- {
- Console.WriteLine("Какая оценка стоит у ученка в " + (i + 1) + " день учебы? ( 2,3,4,5 - оценка / 0 - нет оценки )");
- ArrayRating[i] = Convert.ToInt32(Console.ReadLine());
- }
- AvgRatings = ArrayRating.Average();
- return AvgRatings;
- }
- public void Eror()
- {
- if (ArraySkip != null || ArrayRating != null)
- {
- for (int i = 0; i < ArraySkip.Length; i++)
- {
- if (ArraySkip[i] == 0 && ArrayRating[i] != 0)
- {
- Console.WriteLine("Ошибка: В " + i + " день ученика не было в школеа а оценка стоит!");
- }
- }
- }
- else { Console.WriteLine("Дневник пуст");}
- }
- }
- }
|