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

Класс «Студент»

18.04.2022, 18:37. Показов 4817. Ответов 13

Студворк — интернет-сервис помощи студентам
1.Класс «Студент» Поля: фамилия, имя, отчество, возраст, институт и т.д. Для поля «институт» использовать тип данных enum Методы:
a.перевод студента из одного института в другой, в метод передается новый институт
b.перевод студента из одного института в другой, в метод передается экземпляр класса «Студент» с института, в который надо перевести текущего студента
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.04.2022, 18:37
Ответы с готовыми решениями:

Класс: Описать класс с именем «Студент»
Описать класс с именем «Студент», содержащий поля:−фамилия и инициалы; −место рождения;−успеваемость (массив из пяти элементов).Описать...

Класс Студент
Создать класс Студент, который будет содержать следующие элементы: – свойство «имя» для чтения/записи; – private-поле «номер курса»; ...

Класс студент
Создать класс студент с методами вывода информации о студенте с полями фамилия, возраст . Создать класс студент первокурсник с полями...

13
68 / 12 / 4
Регистрация: 09.04.2022
Сообщений: 46
18.04.2022, 22:49
C#
1
2
3
4
enum Institut
    {
        A,B,C,D
    }
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace StudentClass
{
    class Student
    {
        public string Name { get; set; }
        public string Lastname { get; set; }
        public string Patronymic { get; set; }
        public int Age { get; set; }
        
 
        public Student()
        {
            
        }
        public Student(string Name, string Lastname, string Patronymic, int Age)
        {
            this.Name = Name;
            this.Lastname = Lastname;
            this.Patronymic = Patronymic;
            this.Age = Age;
        }
        public void StudentTransferInstitut(string Name, string Lastname, string Patronymic, int Age, Institut inst)
        {
            switch (inst)
            {
                case Institut.A:
                    Console.WriteLine("Перевод  студента {0} {1} {2} в возрасте {3}  лет в институт А",Lastname,Name,Patronymic,Age);
                    break;
                case Institut.B:
                    Console.WriteLine("Перевод  студента {0} {1} {2} в возрасте {3} лет в институт B", Lastname, Name, Patronymic, Age);
                    break;
                case Institut.C:
                    Console.WriteLine("Перевод  студента {0} {1} {2} в возрасте {3} лет в институт C", Lastname, Name, Patronymic, Age);
                    break;
                case Institut.D:
                    Console.WriteLine("Перевод  студента {0} {1} {2} в возрасте {3} лет в институт D", Lastname, Name, Patronymic, Age);
                    break;
            };
        }
 
        public  void TransferInstitut( Institut inst)
        {
             switch( inst)
            {
                case Institut.A:
                    Console.WriteLine("Перевод в институт А");
                    break;
                case Institut.B:
                    Console.WriteLine("Перевод в институт B");
                    break;
                case Institut.C:
                    Console.WriteLine("Перевод в институт C");
                    break;
                case Institut.D:
                    Console.WriteLine("Перевод в институт D");
                    break;
            };
            
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
    class Program
    {
        static void Main(string[] args)
        {
            Student stud = new Student();
            Student student1 = new Student();
            student1.StudentTransferInstitut("Петра", "Петрова", "Петровича", 20, Institut.C);
            stud.TransferInstitut(Institut.A);
            Console.ReadLine();
        }
    }
1
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
19.04.2022, 08:23
Dmitr00,
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
public enum Institute
{
    A, B, C, D
}
public class CollectionStudent : List<Student>
{
    public Student StudentTransfer(string Name, Institute institute)
    {
        Student student = this.Find(x => x.Lastname == Name);
        if (student != null)
        {
            StudentTransfer(student, institute);
        }
        else
        {
           throw new System.Exception("Студент с такой фамилией отсутствует!");
        }
        return student;
    }
    
    public void StudentTransfer(Student student, Institute institute)
    {
       student.Institute = institute;
    }
}
 
public class Student
{
    public string Name { get; set; }
    public string Lastname { get; set; }
    public string Patronymic { get; set; }
    public int Age { get; set; }
    public Institute Institute { get;set; }
    public override string ToString()
    {
        return $"Перевод  студента {Lastname} {Name} {Patronymic} в возрасте {Age}  лет в институт {Institute}";
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Program
    {
        static void Main(string[] args)
        {
            CollectionStudent students = new CollectionStudent()
            {
             new Student(){ Lastname = "Пупкин", Name = "Пётр", Patronymic="Петрович", Age = 20, Institute = Institute.A },
             new Student(){ Lastname = "Иванов", Name = "Иван", Patronymic="Иванович", Age = 21, Institute = Institute.C }
            };
 
          string info = students.StudentTransfer("Пупкин", Institute.B).ToString();
          Console.WriteLine(info);
 
        }
    }
1
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 36
19.04.2022, 18:38  [ТС]
а для чего нужен метод public void TransferInstitut, не очень понял
0
 Аватар для QuakerRUS
1469 / 1010 / 456
Регистрация: 30.10.2017
Сообщений: 2,799
19.04.2022, 18:41
Цитата Сообщение от Dmitr00 Посмотреть сообщение
а для чего нужен метод public void TransferInstitut, не очень понял
Пункт 1.b. из вашего задания.
1
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 36
19.04.2022, 19:04  [ТС]
C#
1
2
3
4
5
6
7
public Student(string Name, string Lastname, string Patronymic, int Age)
        {
            this.Name = Name;
            this.Lastname = Lastname;
            this.Patronymic = Patronymic;
            this.Age = Age;
        }
а зачем нужен вот этот student, если на него нет никаких ссылок
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
19.04.2022, 19:24
Лучший ответ Сообщение было отмечено Dmitr00 как решение

Решение

Dmitr00, Используйте код который я вам дал выше. Так как Markshreider, показал вам решение, но не учел что студентов может n - кол-во. Тогда его вариант не подходит.
Поясню почему.
При перемещение студента происходит такой код.
C#
1
2
3
4
5
6
7
8
9
10
11
//Создаем неизвестного студента.БЕЗ ФИО, и.т.д 
Student stud = new Student();
 
//Создаем еще одного студента но с данными 
Student student1 = new Student();
 
//Указываем все параметры студента.
student1.StudentTransferInstitut("Петра", "Петрова", "Петровича", 20, Institut.C);
 
//Перемещаем неизвестного студента в институт А. Логично?
stud.TransferInstitut(Institut.A);
1
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 36
19.04.2022, 23:57  [ТС]
Просто ваш код мне не особо понятен к сожалению

Добавлено через 25 минут
если вас не затруднит, то не могли бы вы добавить комментарии к данному коду, что и как работает, спасибо
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
20.04.2022, 08:16
Dmitr00,
Кликните здесь для просмотра всего текста

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
//Перечисление названий института
public enum Institute
{
    A, B, C, D
}
//Класс содержит коллекцию студентов
public class CollectionStudent : List<Student>
{
    //Метод для перевода студента в институт
    public Student StudentTransfer(string Name, Institute institute)
    {
        //Поиск студента по фамилии
        Student student = this.Find(x => x.Lastname == Name);
        
        //Проверяем условие что такой студент есть
        if (student != null)
        {
            //Метод для перевода студента в институт, где передаем ссылку на студента
            StudentTransfer(student, institute);
        }
        else
        {
            //иначе ошибка если студента нет.
           throw new System.Exception("Студент с такой фамилией отсутствует!");
        }
        //Возвращаем экземпляр студента из метода
        return student;
    }
    
    //Метод для перевода студента в институт. Где передаем ссылку на студента и значение института
    public void StudentTransfer(Student student, Institute institute)
    {
        //Задаем студенту значение института куда переведен.
       student.Institute = institute;
    }
}
 
//Класс «Студент»
public class Student
{
    //Свойство имя
    public string Name { get; set; }
    
    //Свойство фамилия
    public string Lastname { get; set; }
    
    //Свойство отчество
    public string Patronymic { get; set; }
    
    //Свойство возраст
    public int Age { get; set; }
    
    //Свойство институт
    public Institute Institute { get;set; }
    
    //Переопределяем метод для вывода информации о студенте
    public override string ToString()
    {
        return $"Перевод  студента {Lastname} {Name} {Patronymic} в возрасте {Age}  лет в институт {Institute}";
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    //Создаем коллекцию Student
    CollectionStudent students = new CollectionStudent()
    {
     //Заполняем коллекцию студентами, где указываем свойства каждого студента. 
     new Student(){ Lastname = "Пупкин", Name = "Пётр", Patronymic="Петрович", Age = 20, Institute = Institute.A },
     new Student(){ Lastname = "Иванов", Name = "Иван", Patronymic="Иванович", Age = 21, Institute = Institute.C }
    };
 
    //Вызываем из коллекции метод "Перевод", указываем фамилию студента и куда перевести. 
    //Вызываем метод ToString(). Получаем результат в переменную Info
    string info = students.StudentTransfer("Пупкин", Institute.B).ToString();
 
    //Выводим информацию
    Console.WriteLine(info);
1
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 36
20.04.2022, 18:44  [ТС]
а что делать если при вводе неправильной фамилии , исключение throw new Exception("Студент с такой фамилией отсутствует!") не обрабатывается
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
21.04.2022, 09:16
Цитата Сообщение от Dmitr00 Посмотреть сообщение
а что делать если при вводе неправильной фамилии , исключение throw new Exception("Студент с такой фамилией отсутствует!") не обрабатывается
Как это не обрабатывается. На то и нужен throw - чтобы выводить исключение. Если при вводе не правильной фамилии, будет исключение 100%
0
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 36
21.04.2022, 11:39  [ТС]
а если вместо throw new Exception("Студент с такой фамилией отсутствует!") написать CW("Студент с такой фамилией отсутствует!"), это же не будет ошибкой?
0
0 / 0 / 0
Регистрация: 12.11.2020
Сообщений: 36
22.04.2022, 00:15  [ТС]
Просто у меня, исключение throw new Exception("Студент с такой фамилией отсутствует!") не работает, и я не понимаю почему, вечно пишет что исключение не обработано
0
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
22.04.2022, 07:41
Dmitr00, Сделайте так, как вам нужно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2022, 07:41
Помогаю со студенческими работами здесь

Описать класс студент
Доброго времени суток, помогите описать этот класс 1. Определить класс с именем STUDENT, содержащий следующие поля: - фамилия и...

Описать класс Студент
Доброго времени суток) Помогите пож. с программой создание класса 1.Класс «Студент» Поля: фамилия, имя, отчество, возраст,...

Создать класс Студент
Реализовать открытый класс Студент с закрытыми полями курс, группа, факультет. Так же опишите 2 конструктора, метод вывода, свойства....

Создать класс Студент
Создать класс Student. Поля: Имя(string) Фамилия(string) ID(string) Группа(Group) далее надо создать класс Group. Тут я не...

Создать класс студент
На c# создать класс студент с полями: ФИО, группа, три оценки. Методы: конструктор, вычесление среднего бала и вывод информации


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru