Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Ромае
-61 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 71
1

Класс для представления информации о студенте

15.02.2020, 15:10. Просмотров 110. Ответов 1
Метки нет (Все метки)

Разработать класс для представления информации о студенте в следующей форме: фамилия, группа, форма обучения, средний балл (в 100-балльной системе). Для студентов платной формы обучения, средний балл которых превышает 98, изменить форму обучения на «За счет именной стипендии». Отсортировать студентов по среднему баллу и выводить списки групп.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2020, 15:10
Ответы с готовыми решениями:

В структуре реализовать метод для вывода информации о студенте
Помогите решить задачу, пожалуйста. Нужно создать структуру «Journal», которая хранит информацию о...

Описать класс для представления даты
Описати клас для представлення дати. Поивинні бути визначені: - можливість встановлення дати та...

Класс для представления хэширования в строку
Покажите, как правильно реализовать

Класс для представления цветных точек
Вот интересно, разные классы создавать впринципе реально, но вот как описать класс для...

Класс для представления даты и времени
Здравствуйте, знаю что уже было много тем создано с подобным вопросом. Но начал искать я уже после...

1
Bespridelschic
Wanna be serious
278 / 243 / 114
Регистрация: 31.07.2013
Сообщений: 1,031
Завершенные тесты: 10
15.02.2020, 19:24 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace Study
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            IList<Student> groupOne = new List<Student>();
            Random rand = new Random(DateTime.Now.Millisecond);
 
            string groupOneId = Guid.NewGuid().ToString();
            for (int i = 0; i < 10; i++)
            {
                var temp = new Student($"Student{i + 1}", groupOneId);
                for (int j = 0; j < 10; j++)
                {
                    temp.Marks.Add(rand.Next(0, 100));
                }
                groupOne.Add(temp);
            }
 
            IList<Student> groupTwo = new List<Student>();
            string groupTwoId = Guid.NewGuid().ToString();
            for (int i = 0; i < 10; i++)
            {
                var temp = new Student($"Student{i + 1}", groupTwoId);
                for (int j = 0; j < 10; j++)
                {
                    temp.Marks.Add(rand.Next(0, 100));
                }
                groupTwo.Add(temp);
            }
 
            IList<Student> groupThree = new List<Student>();
            string groupThreeId = Guid.NewGuid().ToString();
            for (int i = 0; i < 10; i++)
            {
                var temp = new Student($"Student{i + 1}", groupThreeId);
                for (int j = 0; j < 10; j++)
                {
                    temp.Marks.Add(rand.Next(0, 100));
                }
                groupThree.Add(temp);
            }
 
            Console.WriteLine(string.Join("\n", groupOne.Union(groupTwo).Union(groupThree)
                .OrderByDescending(student => student.AverageMark)
                .GroupBy(student => student.Group)
                .SelectMany(i => i)));
        }
    }
 
    public class Student
    {
        private double averageMark;
 
        public string LastName { get; set; }
 
        public string Group { get; set; }
 
        public System.Collections.ObjectModel.ObservableCollection<double> Marks { get; private set; }
 
        public bool IsBudget { get; private set; }
 
        public double AverageMark
        {
            get => averageMark;
            private set
            {
                averageMark = value;
                if (averageMark > 98)
                {
                    IsBudget = true;
                }
            }
        }
 
        public Student(string lastName, string group)
        {
            if (string.IsNullOrWhiteSpace(lastName) || string.IsNullOrWhiteSpace(group))
            {
                throw new FormatException($"Last name or group have incorrect format");
            }
 
            LastName = lastName;
            Group = group;
 
            Marks = new System.Collections.ObjectModel.ObservableCollection<double>();
            Marks.CollectionChanged += (sender, e) =>
                {
                    if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
                    {
                        foreach (var item in e.NewItems)
                        {
                            if ((double)item < 0 || (double)item > 100)
                            {
                                throw new Exception($"Mark must be between 0 and 100. You are enter {(double)item}");
                            }
                        }
                    }
                    AverageMark = Marks.Sum() / Marks.Count;
                };
        }
 
        public override string ToString()
        {
            return $"Last name: {LastName}, Group: {Group}, Is Budget: {IsBudget}, Average mark: {AverageMark}";
        }
    }
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2020, 19:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Какой класс использовать для представления времени
Мне нужно расписание сделать. Можно ,конечно, через дабл 13.30 , но как-то не по госту, наверное....

Создать класс Triangle для представления треугольника
Доброго времени суток! Нужна помощь по C# Не понимаю как реализовать... Создать класс Triangle...

Создать класс Triangle для представления треугольника
Уважаемые участники форума,напишите пожалуйста код следующей программы на Visual Studio 2010: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.