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

Определить класс Student с двумя закрытыми полями полями: name и sumb

11.03.2012, 14:07. Показов 2998. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня. Помогите пожалуйста довести код до ума. Я что то никак не разберусь. Вот задание:
1. Создайте новое консольное приложение;
2. Определите новый класс Student с двумя закрытыми полями полями: name и sumb;
3. Объявите статическое или динамическое поле rnd и инициализируйте его объектом класса Random;
4. Напишите открытый метод SetValue, которому передается фамилия студента и который инициализирует соответствующее поле, а так же с помощью объекта rnd инициализирует значение набранных баллов случайным числом.
5. Напишите функцию вывода информации об объекте на консоль, предварительно переопределив метод ToString;
6. В функции main создайте массив объектов Student из трёх элементов с отложенной инициализацией;
7. Задайте значения полей элементов данного массива , используя специальную функцию SetValue; Когда будет сгенерировано сообщение об ошибке? Почему?
8. Для решения указанной проблемы чаще всего используют следующий приём:
a. В классе Student определите метод InitAr (Метод должен быть статическим, чтобы его можно было вызывать еще до того, как созданы экземпляры класса, поскольку метод предназначен для создания этих самых экземпляров.) Метод имеет следующую сигнатуру:
public static Student[] InitAr(Student[] Stud)
b. В цикле инициализируются все элементы массива с помощью констуктора по умолчанию Student();
c. Не забудьте вернуть сам массив!
9. Вызовите данный метод в функции main и снова попробуйте выполнить шаг №7;
10. Выведите массив на экран;
вот мой код:
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;
 
namespace _4_4
{
    class Student
    {
        private string name;//задание 2
        private int sumb;
        private static Random rnd = new Random();//задание 3
 
        public void SetValue(string _name) //задание 4
        {
            name = _name;
            sumb = rnd.Next(1, 10);
        }
 
        public static void Print(Student _Arr) //задание 5
        {
            Console.WriteLine(_Arr.ToString());
        }
 
        public static Student[] InitAr(Student[] Stud) //задание 8
        {
            for (int i = 0; i < Stud.Length; i++)
            
                Stud[i] = new Student();
            return Stud;
            
        }
 
        static void Main()
        {
            Student[] Arr = new Student[3]; //задание 6
            for (int i = 0; i < 3; i++) //задание 7
                SetValue(Arr[i]);
        }
    }
}
я не могу проинициализировать массив с помощью SetValue, я чувствую, что тут много ошибок, но исправить не могу, нехватает знаний) помогите пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2012, 14:07
Ответы с готовыми решениями:

Определите новый класс Student с двумя закрытыми полями полями: name и sumb
Я очередной студент, которые вам, полагаю, очень надоели, но все же я очень надеюсь на вашу помощь. Задание 4. Массивы Объектов. ...

Создать класс, описывающий магазин с 6-ю закрытыми / открытыми полями и 6-ю закрытыми / открытыми свойствами
Всем доброго времени суток. Такая вот задача. 2. Создать класс, описывающий магазин с 6-ю закрытыми / открытыми полями (ВСЕ...

класс с закрытыми полями, где операции реализуются как методы класса
Создайте класс с закрытыми полями, где операции реализуются как методы класса. Класс vector3D, задаваемый тройкой координат....

2
 Аватар для Ereona
374 / 135 / 19
Регистрация: 16.07.2010
Сообщений: 342
11.03.2012, 14:25
Метод SetValue в данном случае вызывается так:
C#
1
2
            for (int i = 0; i < 3; i++) //задание 7
                Arr[i].SetValue("Student" + i);
1
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
11.03.2012, 14:46
Наверно преподаватель хочет увидеть нечто такое:
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
using System;
 
namespace Forum_0
{
    class Student
    {
        private string Name;
        private int Sumb;
        private static Random rnd = new Random();
        
        public static void InitAr(Student[] Stud)
        {
            for (int i = 0; i < Stud.Length; i++) {
                Stud[i] = new Student();
            }
        }
        
        public void SetValue(string Name)
        {
            this.Name = Name;
            this.Sumb = rnd.Next(1, 10);
        }
        
        public override string ToString()
        {
            return string.Format("[Student Name={0},\t Sumb={1}]", Name, Sumb);
        }
 
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Student[] student = new Student[3];
            Student.InitAr(student);
            
            student[0].SetValue("Vasya");
            student[1].SetValue("Pit");
            student[2].SetValue("Vovan");
            
            for (int i = 0; i < student.Length; i++) {
                Console.WriteLine(student[i].ToString());
            }
            
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
        
    }
}
PS: Касательно подпункта "с" вышеназваного пункта 8. Возвращать массив нет смысла - т.к. он является ссылочным типом и в методы передается по ссылке и никак иначе.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2012, 14:46
Помогаю со студенческими работами здесь

Класс с двумя полями
подскажите class classrod { protected: float a; public: classrod():a(0){} // конструктор...

Создать класс с двумя полями
Здравствуйте, пишу код, не могу понять почему значение переменных из функции Sum не передаются в функцию More. Вот условие задания. Создать...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Cделать класс с двумя полями и методом
не пашет 2017 и 2015 вижуал студио так что надо разобраться по другому 1.1 сделать класс с 2мя полями и методом 1.2 создать...

Реализовать класс с двумя скрытыми полями first и second
В с++ только начал разбираться, прошу помощи в решении задач. Задание: ООП – Задание № 1 Реализовать класс с двумя скрытыми полями...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru