Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/47: Рейтинг темы: голосов - 47, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 14

Класс "Студент" и "Студенческая группа"

23.05.2017, 22:24. Показов 9723. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Класс «СТУДЕНТ» содержит закрытые поля: номер студенческого билета, фамилия, имя, отчество, дата рождения, массив из пяти оценок и метод подсчета среднего балла. Класс «СТУДЕНЧЕСКАЯ ГРУППА» содержит закрытые поля: название группы, курс, объекты класса студент, метод подсчета среднего балла для группы и метод вывода списка студентов, отсортированный по фамилиям в алфавитном порядке.
Помогите пожалуйста, очень срочно нужно.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2017, 22:24
Ответы с готовыми решениями:

Описать класс Студенческая группа
Описать класс «студенческая группа». Предусмотреть возможность работы с переменным числом студентов, поиска студента по какому-либо...

Описать класс «студенческая группа»
Задание №1. Разработка классов согласно индивидуальному варианту задания. Разработать классы согласно варианту задания (таблица 1.1.1)....

Описать класс "студенческая группа"
Помогите, пожалуйста, написать программу на C# на простом языке. Описать класс "студенческая группа". Предусмотреть возможность...

7
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
23.05.2017, 22:43
Цитата Сообщение от EgorKa Посмотреть сообщение
Помогите пожалуйста, очень срочно нужно.
Сейчас вышлем группу , только чем помочь-то?
0
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
23.05.2017, 22:45
EgorKa,
C#
1
2
3
4
5
6
7
8
 class Group
  {
  // 
  }
 class Student
  {
   // 
  }
0
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 14
23.05.2017, 22:56  [ТС]
Я понимаю, я не знаю как сделать в классе Student массив из оценок, и метод подсчета среднего балла. Так и в классе "Студенческая группа" метод подсчета среднего балла для всей группы и метод вывода списка студентов, отсортированных в алфавитном порядке по фамилии

Добавлено через 4 минуты
Класс Student
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
namespace ConsoleApplication4
    {
        sealed class Student : IComparable<Student>
        {
            public Student(string number, string name, string surname, string otch, string dateOfBirthday)
            {
                Number = number;
                Name = name;
                Surname = surname;
                Otch = otch;
                DateOfBirthday = dateOfBirthday;
            }
 
 
            public void ChangeNumber(Student student, string number)
            {
                if (student != null && student.Name != number)
                {
                    student.Name = number;
                }
            }
            public void ChangeName(Student student, string name)
            {
                if (student != null && student.Name != name)
                {
                    student.Name = name;
                }
            }
 
            public void ChangeSurname(Student student, string surname)
            {
                if (student != null && student.Name != surname)
                {
                    student.Surname = surname;
                }
            }
 
            public void ChangeOtch(Student student, string otch)
            {
                if (student != null && student.Name != otch)
                {
                    student.Otch = otch;
                }
            }
 
            public void ChangeDateOfBirthday(Student student, string dateOfBirthday)
            {
                if (student != null && student.Name != dateOfBirthday)
                {
                    student.DateOfBirthday = dateOfBirthday;
                }
            }
 
            public string Number { get; set; }
            public string Name { get; set; }
            public string Surname { get; set; }
            public string Otch { get; set; }
            public string DateOfBirthday { get; set; }
            //реализация метода CompareTo интефейса IComparable
            public int CompareTo(Student that)
            {
                return String.Compare(Name, that.Name, System.StringComparison.Ordinal);
            }
        }
    }

Класс "Студенческая группа"
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
class StudentGroup
{
    List<Student> students = new List<Student>();
 
    public void AddStudent(string number, string name, string surname, string otch, string dateOfBirthday)
    {
        Student student = new Student(number, name, surname, otch, dateOfBirthday);
        students.Add(student);
    }
 
    public void RemoveStudent(Student student)
    {
        students.Remove(student);
    }
 
    public string GetStudent(int id)
    {
        return students[id].Number + " " + students[id].Surname + " " + students[id].Name + " " + students[id].Otch + " " + students[id].DateOfBirthday;
    }
 
    public void ShowAllStudent()
    {
        Console.WriteLine("Все студенты: ");
        foreach (var student in students)
        {
 
            Console.WriteLine(student.Number + "\t" + student.Name + "\t" + student.Surname + "\t" + student.Otch + "\t" + student.DateOfBirthday);
 
        }
    }
 
    public int GetAmount()
    {
        return students.Count;
    }
 
}
}

И Program:
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
    class Program
    {
       static void Main(string[] args)
    {
        var studentGroup = new StudentGroup();
       // Console.Write("Введите кол-во студентов: ");
 
        studentGroup.AddStudent("120", "wer", "wer", "ert", "14.04.1997");
        studentGroup.AddStudent("121", "ert", "Aert", "Evgedfsch", "30.07.1997");
        studentGroup.AddStudent("122", "ert", "sdfr", "Scvxv", "30.10.1995");
 
 
        Console.Write("Введите № билета: ");
        string number = Console.ReadLine();
        Console.Write("Введите фамилию: ");
        string surname = Console.ReadLine();
        Console.Write("Введите имя: ");
        string name = Console.ReadLine();
        Console.Write("Введите отчество: ");
        string otch = Console.ReadLine();
        Console.Write("Введите дату рождения: ");
        string dateOfBirthday = Console.ReadLine();
 
        studentGroup.AddStudent(number, surname, name, otch, dateOfBirthday);
 
        studentGroup.ShowAllStudent();
        Console.WriteLine("Общее количество студентов в группе " + studentGroup.GetAmount());
 
        Console.ReadKey();
    }
}
 
}


На этом мои знания закончились.

Добавлено через 2 минуты
Цитата Сообщение от bodynar Посмотреть сообщение
Сейчас вышлем группу , только чем помочь-то?
Программу эту написать)))
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
23.05.2017, 23:17
EgorKa,
По модели студента: в чем смысл ваших методов Change* ? Зачем у инстанса вызывать метод и кидать туда другой инстанс?
У вас же свойства есть.

По модели группы:
- GetStudent - можно в модели студента сделать override ToString и вызвать его.. или же string.Format() и передать нужные аргументы
- ShowAllStudent - почему именно в этом методе вы дергаете консоль? Старайтесь минимально привязываться в моделях к среде. Метод может вернуть IEnumerable<string>, в теле метода вы просто yield return выполните внутри цикла по всем объектам из вашей коллекции students

По поводу массива оценок:
Что вам мешает создать поле из 5 double значений? Среднее значение - Linq Average

По поводу подсчета среднего балла в группе - тут уже зависит от вас.
можно сделать что-то вроде
C#
1
2
public int GetAverageMark() 
=> students.Average(student => student.GetAverageMark());
Сортировка по фамилии: воспользоваться OrderBy.
0
0 / 0 / 0
Регистрация: 04.06.2014
Сообщений: 14
23.05.2017, 23:24  [ТС]
Сделал:
Класс "Студент"
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
namespace ConsoleApplication4
{
    class Student
    {
        private double _studBilNum;
        private string _studentF;
        private string _studentI;
        private string _studentO;
        private Int32[] _date = new Int32[3];
        private int[] _ocenki = new int[5];
 
        // конструстор класса
        public Student(Double s, String f, String i, String o, Int32 d, Int32 mn, Int32 y)
        {
            StudBilNum = s;
            StudentF = f.Trim();
            StudentI = i.Trim();
            StudentO = o.Trim();
            Date[0] = d;
            Date[1] = mn;
            Date[2] = y;
 
        }
 
        public Double StudBilNum
        {
            get { return _studBilNum; }
            set { _studBilNum = value; }
        }
        public String StudentF
        {
            get { return _studentF; }
            set { _studentF = value; }
        }
        public String StudentI
        {
            get { return _studentI; }
            set { _studentI = value; }
        }
        public String StudentO
        {
            get { return _studentO; }
            set { _studentO = value; }
        }
        public Int32[] Date
        {
            get { return _date; }
            set { _date = value; }
        }
 
        public int this[int x]
        {
            get { return _ocenki[x]; }
            set { _ocenki[x] = value; }
        }
 
        public double SredBal()
        {
            int temp = 0;
            for (int i = 0; i < _ocenki.Length; i++)
            {
                temp += _ocenki[i];
            }
            return (double)temp / _ocenki.Length;
        }
    }
}


Помогите с классом "Студенческая группа", очень срочно нужно...

Добавлено через 7 минут
Цитата Сообщение от bodynar Посмотреть сообщение
Сортировка по фамилии: воспользоваться OrderBy.
я вот чуть выше сделал класс "Студент", помогите пожалуйста с классом "Студенческая группа". Не представляю как его написать.
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
23.05.2017, 23:29
EgorKa,

Код в предыдущем сообщении с моделью студента и код в последнем очень сильно отличаются.
Какой смысл писать ещё раз и причем "с запашком"?

Как реализовать те или иные функции - я описал и предоставил ссылки.
0
Special user
36 / 36 / 16
Регистрация: 07.10.2013
Сообщений: 121
24.05.2017, 01:37
Лучший ответ Сообщение было отмечено EgorKa как решение

Решение

Геттеры и сеттеры не устанавливал. Установите согласно задания.

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
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace CyberF
{
    class Student
    {
        public string Card;
        public string FirstName;
        public string LastName;
        public string MiddleName;
        public DateTime BirthDay;
        public int[] Evaluations = new int[5];
 
        public Student(string card, string firstName, string lastName, string middleName, DateTime birthDay, int[] evaluations)
        {
            Card = card;
            FirstName = firstName;
            LastName = lastName;
            MiddleName = middleName;
            BirthDay = birthDay;
            Evaluations = evaluations;
        }
 
        public double GetAverageScore() => Evaluations.Average();
 
        public override string ToString()
        {
            return $"#{Card} {LastName} {FirstName.Substring(0, 1)}. {MiddleName.Substring(0, 1)}. [Average score: {GetAverageScore():N2}]";
        }
    }
 
    class StudentGroup
    {
        List<Student> _students = new List<Student>();
        public string Name;
        public string Course;
        
        public StudentGroup(string name, string course, List<Student> students)
        {
            Name = name;
            Course = course;
            _students.AddRange(students);
        }
 
        public double GetAverageScore()
        {
            return _students.Average(x => x.GetAverageScore());
        }
 
        public IEnumerable<string> SortByLastName()
        {
            foreach (var item in _students.OrderBy(x => x.LastName))
            {
                yield return item.ToString();
            }
        }
 
        public override string ToString()
        {
            return $"Group: {Name}, course {Course}. Number of students: {_students.Count}";
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            List<Student> students = new List<Student>()
            {
                new Student("1", "Alexey", "Frolov", "Igorevich", new DateTime(1990, 11, 2), new int[] { 3, 4, 4, 5, 3}),
                new Student("2", "Sergey", "Semenov", "Alexeevich", new DateTime(1992, 1, 12), new int[] { 4, 3, 3, 3, 4}),
                new Student("3", "Andrey", "Volkov", "Konstantinovich", new DateTime(1993, 10, 6), new int[] { 3, 5, 4, 4, 3}),
                new Student("4", "Ilya", "Ivanov", "Igorevich", new DateTime(1991, 8, 19), new int[] { 3, 4, 4, 5, 4}),
                new Student("5", "Arseniy", "Kot", "Arkadievich", new DateTime(1990, 6, 22), new int[] { 4, 5, 4, 3, 4}),
                new Student("6", "Pavel", "Fedorov", "Dmitrievich", new DateTime(1992, 5, 11), new int[] { 3, 5, 4, 5, 5})
            };
 
            Console.WriteLine("Students without sorting:");
            foreach (var student in students)
            {
                Console.WriteLine(student);
            }
 
            StudentGroup group = new StudentGroup("CyberF", "1", students);
 
            Console.WriteLine($"\n{group}" +
                $"\nAverage score of the group: {group.GetAverageScore():N2}.");
 
            Console.WriteLine("\nSorted students by lastname:");
            foreach (var student in group.SortByLastName())
            {
                Console.WriteLine(student);
            }
        }
    }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.05.2017, 01:37
Помогаю со студенческими работами здесь

Описать класс "студенческая группа"
По заданию нужно Описать класс &quot;студенческая группа&quot;. Предусмотреть возможность работы с переменным числом студентов, поиска...

Описать класс "Студенческая группа"
Описать класс «студенческая группа». Предусмотреть возможность работы с пере- менным числом студентов, поиска студента по какому-либо...

Описать класс "студенческая группа"
Уважаемы господа!!! Помогите в написании программы. Описать класс ≪студенческая группа≫. Предусмотреть возможность работы с...

Описать класс "студенческая группа"
задание: описать класс &quot;студенческая группа&quot; в поиске нашел кое-что но объединить на форме не могу, буду очень благодарен за помощь. ...

Описать класс "студенческая группа "
описать класс &quot;студенческая группа &quot;. предусмотреть возможность работы с переменным числом студентов, поиска студента по какому- либо...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru