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

Описать класс «товар»

15.10.2017, 18:40. Показов 24906. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать класс «товар», содержащий следующие закрытые поля:
• название товара;
• название магазина, в котором продается товар;
• стоимость товара в рублях.
Предусмотреть свойства для получения состояния объекта.
Описать класс «склад», содержащий закрытый массив товаров. Обеспечить следующие
возможности:
• вывод информации о товаре по номеру с помощью индекса;
• вывод на экран информации о товаре, название которого введено с клавиатуры;
если таких товаров нет, выдать соответствующее сообщение;
• сортировку товаров по названию магазина, по наименованию и по цене;
• перегруженную операцию сложения товаров, выполняющую сложение их цен.
Написать программу, демонстрирующую все разработанные элементы классов.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2017, 18:40
Ответы с готовыми решениями:

Описать класс ТОВАР
Как это сделать??? Определить пользовательский класс в соответствии с вариантом задания. Определить в классе следующие конструкторы:...

Описать класс с именем Wares (товар)
Описать класс с именем Wares (товар), содержащий следующие закрытые поля: • Название товара; • Количество товара в килограммах; ...

Описать класс "склад" содержащий закрытый массив товар
Описать класс "склад" содержащий закрытый массив товар. Обеспечить следующие возможности: Вывод информации о товаре по номеру с помощью...

8
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
15.10.2017, 18:43
А попытки реализации?
0
1 / 1 / 0
Регистрация: 02.10.2017
Сообщений: 31
15.10.2017, 18:48  [ТС]
Они есть но они очень убогие
0
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
15.10.2017, 18:49
Nikita12a, показывайте
0
1 / 1 / 0
Регистрация: 02.10.2017
Сообщений: 31
15.10.2017, 18:55  [ТС]
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp7
{
    public class Tovar
    {
        public string Nazvanie_Field { get; set; }
        public string NazvanieMagazina_Field { get; set; }
        public double Stoimost_Field { get; set; }
        public string Sostoyanie_Field { get; set; }
        public string Nazvanie
        {
            get
            {
                return Nazvanie_Field;
            }
        }
 
        public string NazvanieMagazina
        {
            get
            {
                return NazvanieMagazina_Field;
            }
        }
 
        public double Stoimost
        {
            get
            {
                return Stoimost_Field;
            }
        }
 
        public string Sostoyanie
        {
            get
            {
                return string.Format("Nazvanie tovara: {0}, Nazvanie magazina: {1}, Stoimost: {2}", Nazvanie, NazvanieMagazina, Stoimost);
            }
        }
 
        public Tovar(string nazv, string magNazv, double stoim, string sostoyanie)
        {
            Nazvanie_Field = nazv;
            NazvanieMagazina_Field = magNazv;
            Stoimost_Field = stoim;
            Sostoyanie_Field = Sostoyanie;
        }
        class Program
        {
            static void Main(string[] args)
            {
 
                Console.WriteLine("Введите название товара");
                string Nazvanie = string.Format(Console.ReadLine());
                Console.WriteLine("Введите название магазина");
                string NazvanieMagazina = string.Format(Console.ReadLine());
                Console.WriteLine("Введите стоимость товара");
                double Stoimost = double.Parse(Console.ReadLine());
                Console.WriteLine("Введите название товара по которому будет поиск");
                string Sostoyanie = string.Format(Console.ReadLine());
                Console.ReadLine();
                var v = new Tovar(Nazvanie, NazvanieMagazina, Stoimost, Sostoyanie);
            }
        }
    }
}
1
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
15.10.2017, 19:19
Nikita12a, для начала, нужно отделить логику от модели, тем более в тз всё описано. (Товар Склад)

Зачем все эти ненужные поля? Опять же, в тз всё описано, можно добавить id, зачем остальное?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Product
{
private string _productName;
private string _productCost;
private string _shopName;
 
public int Id {get;set;} // можно string или Guid, да и нужен-ли Id / ProductId
public string ProductName {get { return this._productName;}}
public string ProductCost{get { return this._productCost;}}
public string ShopName{get { return this._shopName;}}
 
public Product(string productName, string productCost, string shopName)
{
this._productName = productName ;
this._productCost= productCost;
this._shopName= shopName;
}
}
Думаю, Id стоит убрать.

Теперь создаем класс Stock и реализуем в нем логику )
0
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
15.10.2017, 19:41
Лучший ответ Сообщение было отмечено Nikita12a как решение

Решение

Чтото типо такого

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
109
110
111
112
113
    public class Good
    {
        private string _name;
        private string _storeName;
        private decimal _price;
 
        public string Name => _name;
 
        public string StoreName => _storeName;
 
        public decimal Price => _price;
 
        public Good(string name, string storeName, decimal price)
        {
            _name = name;
            _storeName = storeName;
            _price = price;
        }
 
        public static decimal operator +(Good right, Good left)
        {
            var price = right.Price + left.Price;
            return price;
        }
    }
 
    public class Stock
    {
        private List<Good> _goods;
 
        public Good this[int index] => _goods[index];
 
        public Good this[string name] => _goods.FirstOrDefault(g => g.Name.Equals(name));
 
        public Stock()
        {
            _goods =  new List<Good>();
        }
 
        public void AddGood(Good good)
        {
            _goods.Add(good);
        }
 
        public void SortByPrice()
        {
            _goods = _goods.OrderBy(g => g.Price).ToList();
        }
 
        public void SortByName()
        {
            _goods = _goods.OrderBy(g => g.Name).ToList();
        }
 
        public void SortByStoreName()
        {
            _goods = _goods.OrderBy(g => g.StoreName).ToList();
        }
    }
 
    class Program
    {
        private static bool _insertMode = true;
        private static Stock _stock;
 
        static void Main(string[] args)
        {
            _stock = new Stock();
 
            while (_insertMode)
            {
                try
                {
                    Console.Write("Введите название товара:");
                    var name = Console.ReadLine();
                    Console.Write("Введите название магазина:");
                    var storeName = Console.ReadLine();
                    Console.Write("Введите стоимость товара:");
                    var price = decimal.Parse(Console.ReadLine());
 
                    var good = new Good(name, storeName, price);
                    _stock.AddGood(good);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Ошибка ввода");
                }
 
 
                var answer = new ConsoleKeyInfo();
                while (answer.Key != ConsoleKey.Y)
                {
                    if (answer.Key == ConsoleKey.N)
                    {
                        _insertMode = false;
                        break;
                    }
 
                    Console.Write("Добавить еще один товар? (y - да, n - нет):");
                    answer = Console.ReadKey();
                    Console.WriteLine();
                }
            }
 
            Console.Write("Введите название товара для поиска:");
            var findName = Console.ReadLine();
 
            var foundGood = _stock[findName];
            Console.WriteLine(foundGood == null ? "Такого товара нет" : $"{foundGood.Name}, {foundGood.Price}, {foundGood.StoreName}");
 
            Console.ReadLine();
        }
    }
3
112 / 99 / 80
Регистрация: 30.12.2015
Сообщений: 230
15.10.2017, 20:08
Код
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.Linq;
 
class Product
{
    public string Name { get; private set; }
    public string Shop { get; private set; }
    public double Cost { get; private set; }
    public Product(string name, string shop, double cost)
    {
        Name = name;
        Shop = shop;
        Cost = cost;
    }
    public override string ToString()
    {
        return $"название: {Name}, магазин: {Shop}, цена: {Cost}";
    }
    public static double operator +(Product obj1, Product obj2)
    {
        return obj1.Cost + obj2.Cost;
    }
}
class Stock
{
    Product[] products;
    public int Length { get; private set; }
    public Stock(int length)
    {
        Length = length;
        products = new Product[Length];
    }
    public Product this[int index]
    {
        get
        {
            if (IsValid(index))
                return products[index];
            throw new IndexOutOfRangeException();
        }
        set
        {
            if (IsValid(index))
                products[index] = value;
            else
                throw new IndexOutOfRangeException();
        }
    }
    public Product FindProduct(string name)
    {
        foreach (Product item in products)
        {
            if (item.Name == name)
                return item;
        }
        return null;
    }
    public Product[] SortByName()
    {
        return products.OrderBy(n => n.Name).ToArray();
    }
    public Product[] SortByShop()
    {
        return products.OrderBy(n => n.Shop).ToArray();
    }
    public Product[] SortByCost()
    {
        return products.OrderBy(n => n.Cost).ToArray();
    }
    private bool IsValid(int index)
    {
        return (index >= 0) && (index < Length);
    }
}
 
 
class Program
{
    static void Main()
    {
        Stock stock = new Stock(3);
        stock[0] = new Product("Штаны", "Адидас", 4300);
        stock[1] = new Product("Куртка", "Рибок", 5340);
        stock[2] = new Product("Кофта", "Найк", 3040);
        Product test = stock.FindProduct("Куртка");
        if (test != null)
            Console.WriteLine(test.ToString());
        Console.WriteLine();
        Product[] tests = stock.SortByCost();
        for (int i = 0; i < tests.Length; i++)
        {
            Console.WriteLine(tests[i].ToString());
        }
        Console.WriteLine();
        Console.WriteLine(stock[0] + stock[1]);
        Console.ReadKey();
    }
}
1
1 / 1 / 0
Регистрация: 02.10.2017
Сообщений: 31
15.10.2017, 20:08  [ТС]
спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2017, 20:08
Помогаю со студенческими работами здесь

Описать класс "товар", содержащий закрытые поля
Описать класс «товар», содержащий следующие закрытые поля: • название товара; • название магазина, в котором продается товар; •...

Описать базовый класс Point. Описать класс Прямоугольник от класса Point
Описать базовый класс Point - точка. Описать класс &quot;прямоугольник&quot;. Обязательные поля класса &quot;Прямоугольник&quot;: - имя...

Создать абстрактный класс «Товар», на его основе создать класс «Автомобиль»
Вечер добрый, а может и не добрый. В изучении C# столкнулся с такой проблемой - как исключения. Имею такую задачу. Создать абстрактный...

содержащую класс товар
Напишите программу, содержащую класс товар.Переменные: название, цена, количество.Об 'явить и проинициализуйте 2 обьекта класса.Метод:...

Объявите класс TGoods, создающий тип «Товар»
Не пойму, что не так. Сравнивает наименование товара и год производства только с последним элементом массива, а нужно со всем массивом....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
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 с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru