Кто может помочь с задачей по ООП? Всем привет, начали изучать ООП, такая вот задача, сам написал по тому как я знаю, используя пример, но ошибки
кодnamespace OOP4
{
class PatchCord
{
private string name;
private string type;
private int length;
public PatchCord(string name, string type, int length)
{
this.name = name;
this.type = type;
this.length = length;
}
}
class PatchCords
{
PatchCord[] patchCords = new PatchCord[5];
public PatchCord this[int length]
{
set { patchCords[length] = value; }
}
}
class Program
{
static void Main(string[] args)
{
PatchCords A = new PatchCords();
A[0] = new PatchCord("sds","dsd", 2);
for (int i = 0; i (класс и его поля задаются в соответствии с выбранным вариантом в лабораторной работе 1), причем объекты класса должны хранить массивы данных о предметной области, связанные со свойствами предмета задания по варианту. Причем количество элементов массива должно задаваться программно пользователем в интерактивном режиме.

21 Авг 2019 в 07:01
206 +1
0
Ответы
1

Проблема в вашем коде заключается в том, что вы не определили геттер для свойства PatchCord в классе PatchCords. Кроме того, в цикле for вы устанавливаете i < 2, вместо i < 5, поэтому вывод будет не для всех элементов массива.

Вот исправленный код:

using System;
namespace OOP4
{
class PatchCord
{
private string name;
private string type;
private int length;
public PatchCord(string name, string type, int length)
{
this.name = name;
this.type = type;
this.length = length;
}
public int Length
{
get { return length; }
}
}
class PatchCords
{
PatchCord[] patchCords;
public PatchCords(int size)
{
patchCords = new PatchCord[size];
}
public PatchCord this[int index]
{
set { patchCords[index] = value; }
get { return patchCords[index]; }
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите количество патч-кордов:");
int size = int.Parse(Console.ReadLine());
PatchCords A = new PatchCords(size);
for (int i = 0; i < size; i++)
{
Console.WriteLine($"Введите название, тип и длину патч-корда {i + 1}:");
string name = Console.ReadLine();
string type = Console.ReadLine();
int length = int.Parse(Console.ReadLine());
A[i] = new PatchCord(name, type, length);
}
Console.WriteLine("Длины патч-кордов:");
for (int i = 0; i < size; i++)
{
Console.WriteLine(A[i].Length);
}
}
}
}

Теперь в программе пользователь может вводить количество патч-кордов и их данные, а затем программа выводит длины патч-кордов.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир