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

Исправить и дописать код

31.03.2020, 23:27. Показов 966. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Создать абстрактный класс Person с двумя свойствами Имя и Фамилия.
2. Создать класс Student (наследник класса Person) и добавить свойство Оценка. Объявить в классе конструктор с двумя параметрами: public Student(string name, string lastname).
3. Создать класс Teacher (наследник класса Person) и добавить свойство Кафедра. Объявить в классе конструктор с тремя параметрами: public Teacher (string name, string lastname, string department).
4. Создать класс Group (студенческая группа) с двумя свойствами Номер_группы (строка) и Список_студентов (массив объектов типа Student ). Объявить в классе конструктор с двумя параметрами: public Group(string number, int count), где number – номер группы, а count – количество студентов в группе). Объявить в классе метод AddStudents(), который запрашивает у пользователя имя и фамилию очередного студента, создает объект типа Student и добавляет его к массив Список_студентов.
5. Создать класс Exam с тремя полями – название учебной дисциплины (строка), экзаменатор (объект типа Teacher), студенческая группа (объект типа Group). Объявить в классе конструктор с тремя параметрами: public Exam (string subj, Teacher teach, Group group). Объявить в классе метод ProcessExam(), который каждому студенту выставит оценку за экзамен (случайное целое число в диапазоне 60..100). Объявить в классе метод ResultExam(), который сформирует и выведет на экран ведомость сдачи экзамена. Ведомость должна содержать информацию о предмете, который сдавался, об учебной группе, список группы с оценками каждого студента и фамилию экзаменатора.
6. В классе Program создать объект класса Group и с помощью метода AddStudents() внести информацию о студентах. Создать объект класса Teacher. Создать объект класса Exam, например, Exam exam = new Exam("Программирование", teach, group); и вызвать методы для моделирования процесса экзамена и вывода результатов на экран: exam.ProcessExam(); exam.ResultExam();

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
using System;
 
namespace task
{
 
    class Program
    {
        static void Main(string[] args)
        {
            Group group = new Group("6", 5);
            group.AddStudent("София", "Иванова");
            group.AddStudent("Петр", "Федоров");
            group.AddStudent("Иван", "Сидоров");
            group.AddStudent("Анастасия", "Смирнова");
            group.AddStudent("Alexander", "Белов");
 
            Teacher teacher = new Teacher("Елена", "Ковалёва", "ПИ");
            Exam exam = new Exam("Высшая математика", teach, group);
 
        }
 
 
        abstract class Person
        {
            public string FirstName;
            public string LastName;
        }
        class Student : Person
        {
            public int Grade;
            public Student(string name, string lastname)
            {
                FirstName = name;
                LastName = lastname;
            }
        }
        class Teacher : Person
        {
            public string Department;
            public Teacher(string name, string lastname, string department)
            {
                FirstName = name;
                LastName = lastname;
                Department = department;
            }
        }
        class Group
        {
            public string Group_Number;
            public Student[] students;
            public int kol_vo = 5; 
            public Group(string number, int count)
            {
                Group_Number = number;
                kol_vo = count;
            }
            public void AddStudent(string name, string lastname)
            {
                Student[] students = new Student[5];
                Student student = new Student(name, lastname );
                students.Add(student);
            }
        }
        class Exam
        {
            public string Math;
            public Teacher Teach;
            public Group studgroup;
            public Exam(string subj, Teacher teach, Group group)
            { 
            Math = subj;
            studgroup = group;
            Teach = teach;
 
            }
            public void ProcessExam()
            {
                Random rnd = new Random();
 
                //Получить случайное число (в диапазоне от 0 до 10)
                int Grade = rnd.Next(60, 100);
 
                //Вывод числа в консоль
                Console.WriteLine(Grade);
                Console.Write("Оценка за экзамен:");
                Grade = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine(studgroup.students(Grade));
            }
            public void ResultExam()
            {
 
 
            }
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2020, 23:27
Ответы с готовыми решениями:

Помогите дописать( исправить код) алгоритм
Условие Некоторые компании являются совладельцами других компании, так как приобрели часть их акций. Говорят, что компания А...

Посчитать сумму цифр в строке (исправить ошибку) + дописать код для суммы чисел
Помогите пожалуйста дописать код: Нужно посчитать сумму чисел в строке. То есть введя : " 1945 year, 05, 09" должно выводить...

Исправить код программы и дописать так, чтобы при вводе в массив букв выводилось сообщение об ошибке
Программа должна считать произведение элементов массива. Я попробовала написать код, но он не работает... Помогите исправить код и дописать...

3
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
01.04.2020, 10:56
Думаю поле оценки Grade нужно убрать из класса студента, ведь получается, что у студента может быть только одна оценка, причём непонятно по какому предмету.
А в классе экзамена, как как нужны оценки. Там пригодится массив оценок, равный кол-ву студентов. При ProcessExam заполняете такой массив оценок. А в ResultExam проходите по обоим массивам (студенты и оценки) и выводите результаты.
0
0 / 0 / 0
Регистрация: 31.03.2020
Сообщений: 2
01.04.2020, 12:18  [ТС]
samana, а можете дописать пожалуйста?
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
01.04.2020, 18:29
kto chto, Всё таки в задании сказано, что оценка должна быть в классе студента, поэтому сделаем так, как просят.
Немного доделал код, так как он был с ошибками (видимо вы его не писали)
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
using System;
 
namespace CyberForum
{
    class Program
    {
        static void Main(string[] args)
        {
            Group group = new Group("6", 5);
            group.AddStudent("София", "Иванова");
            group.AddStudent("Петр", "Федоров");
            group.AddStudent("Иван", "Сидоров");
            group.AddStudent("Анастасия", "Смирнова");
            group.AddStudent("Alexander", "Белов");
 
            Teacher teacher = new Teacher("Елена", "Ковалёва", "ПИ");
            Exam exam = new Exam("Высшая математика", teacher, group);
            exam.ProcessExam();
            exam.ResultExam();
        }
 
        abstract class Person
        {
            public string FirstName;
            public string LastName;
        }
        class Student : Person
        {
            public int Grade;
            public Student(string name, string lastname)
            {
                FirstName = name;
                LastName = lastname;
            }
        }
        class Teacher : Person
        {
            public string Department;
            public Teacher(string name, string lastname, string department)
            {
                FirstName = name;
                LastName = lastname;
                Department = department;
            }
        }
        class Group
        {
            public string Group_Number;
            public Student[] Students;
            public Group(string number, int count)
            {
                Group_Number = number;
                Students = new Student[count];
            }
            public void AddStudent(string name, string lastname)
            {
                for (int i = 0; i < Students.Length; i++)
                {
                    if (Students[i] == null)
                    {
                        Students[i] = new Student(name, lastname);
                        return;
                    }
                }
 
                Console.WriteLine($"Группа {Group_Number} заполнена, добавление студента {name} {lastname} невозможно."); ;
            }
        }
        class Exam
        {
            public string Subject;
            public Teacher Teach;
            public Group StudentsGroup;
            public Exam(string subj, Teacher teach, Group group)
            {
                Subject = subj;
                StudentsGroup = group;
                Teach = teach;
 
            }
            public void ProcessExam()
            {
                Random rnd = new Random();
 
                foreach (Student student in StudentsGroup.Students)
                {
                    student.Grade = rnd.Next(60, 100 + 1);
                }
 
            }
            public void ResultExam()
            {
                Console.WriteLine("Ведомость о сдаче экзамена:");
                Console.WriteLine($"Предмет: {Subject}");
                Console.WriteLine($"Группа: {StudentsGroup.Group_Number}");
                Console.WriteLine($"Экзаменатор: {Teach.FirstName} {Teach.LastName}");
                Console.WriteLine("Оценки:");
                for (int i = 0; i < StudentsGroup.Students.Length; i++)
                {
                    Student student = StudentsGroup.Students[i];
                    Console.WriteLine($"{i + 1}. {student.FirstName} {student.LastName}: {student.Grade}");
                }
                Console.WriteLine();
            }
        }
    }
 
}
Цитата Сообщение от kto chto Посмотреть сообщение
Объявить в классе метод AddStudents(), который запрашивает у пользователя имя и фамилию очередного студента
Попробуйте сами реализовать такой ввод.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2020, 18:29
Помогаю со студенческими работами здесь

Исправить ошибки и чуть-чуть дописать код
Какой надо тип данных что бы не букву вывело, а имя? И как повторить вывод этой информации использую функции printf и scanf? #include...

Исправить и дописать
Sub primer1() Sheets(&quot;Ëèñò1&quot;).Activate Const n = 7, m = 7 Dim A(1 To n, 1 To m) As Single Dim Max, pr As Single Dim s1, s2 As...

дописать вычесление и исправить ошибки
Sub main2() Dim a as integer, t as integer, b as integer A=-0.5 B=2 For t=1 to 2 step 0.15 If 1&lt;=t&lt;=2 then y=a*t^2*ln(t) If t&lt;1...

Нужно исправить ошибки в коде и дописать функцию
В 17-ой строке компилятор выдает ошибку invalid operands of types 'int()' and 'int()' to binary 'operator+' В идеале программа должна...

Дописать/исправить: вывод строк максимальной длины
Всем добрый день! Стояло такое задание: 1. определить количество знаков пунктуации. 2. вывести строку (строки) максимальной длины ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru