Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2020, 13:06   #1
VendeTTA.
Новичок
Джуниор
 
Регистрация: 20.08.2020
Сообщений: 1
По умолчанию Программа с Листами

Код:
    internal class Program
    {
        public static void Main(string[] args)
        {
            Student alex = new Student("Alex");
            alex.Diary.AddMark(4);
            alex.Diary.AddMark(5);
            alex.Diary.AddMark(5);
            alex.Diary.AddMark(3);
            alex.Diary.AddMark(5);
 
            Console.WriteLine($"Max mark:\t{alex.Diary.MaxMark}");
            Console.WriteLine($"Min mark:\t{alex.Diary.MinMark}");
            Console.WriteLine($"Average mark:\t{alex.Diary.AverageMark}");
        }
    }
 
    public class Diary
    {
        private readonly IList<int> marks;
 
        public int this[int index]
        {
            get
            {
                if (index >= 0 && index < marks.Count)
                {
                    return marks[index];
                }
 
                throw new IndexOutOfRangeException();
            }
            // На случай ошибочно выставленной оценки
            set
            {
                if (index >= 0 && index < marks.Count)
                {
                    marks[index] = value;
                }
 
                throw new IndexOutOfRangeException();
            }
        }
 
        public Diary()
        {
            marks = new List<int>();
        }
 
        public void AddMark(int mark)
        {
            // Проверка корректности оценки (по 5-ти бальной системе)
            if (mark > 0 && mark <= 5)
            {
                marks.Add(mark);
                return;
            }
 
            throw new IndexOutOfRangeException(nameof(mark));
        }
 
        public int MaxMark => marks.Max();
 
        public int MinMark => marks.Min();
 
        public double AverageMark => marks.Average();
    }
 
    public class Student
    {
        public string Name { get; set; }
 
        public Diary Diary { get; private set; }
 
        public Student(string name)
        {
            if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException(nameof(name));
 
            Name = name;
            Diary = new Diary();
        }
    }


Здравствуйте помогите пожалуйста написать программу для отслеживания успеваемости школьника используя листы . В ней
должны быть следующие возможности:

программа запрашивает имя ученика

программа добавляет оценки в дневник

программа определяет максимальную оценку

программа определяет минимальную оценку

программа определяет среднюю оценку

Например: Ты вводишь имя ученика и программа спрашивает если хочешь вести оценку ученика нажмите на 1,ты вводишь оценку далее возвращается в начало и снова спрашивает что ты хочешь выбрать


Часть кода написал не знаю правильно или так дальше нужно меню для работы но не как не получается
VendeTTA. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с листами Alex-Art Microsoft Office Excel 2 04.10.2018 23:38
задача с листами nwhta Общие вопросы C/C++ 5 09.11.2014 22:34
ВПР, работа с 2-мя листами riko782 Microsoft Office Excel 3 23.08.2013 12:25
Помогите с листами djkon2007 Microsoft Office Excel 15 16.02.2009 13:47
Работа с листами Flangini Microsoft Office Excel 7 26.02.2008 16:45