Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 13
1

Как создать простой класс?

14.06.2022, 16:45. Показов 816. Ответов 5

Author24 — интернет-сервис помощи студентам
Не понимаю как сделать задание. Я совсем не понимаю эти методы. Все видео объяснения посмотрел, но всё равно не получается. Все говорят как работать уже с введёнными данными объекта и только с одним объектом. А мне надо чтобы я мог через форму ввести эти пирожные и использовать их данные для подсчета например всех пирожных со сливочным кремом. Я так понимаю это надо сделать через List, но всё что я нашел очень запутано. Я сделал форму и возможность вывода, но больше не получается.
Миниатюры
Как создать простой класс?  
Вложения
Тип файла: rar Задание 1.rar (40.6 Кб, 11 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2022, 16:45
Ответы с готовыми решениями:

Создать простой класс Array и его наследник класс Triad (для работы с тройками чисел)
создал простой класс Array и его наследник класс Triad (для работы с тройками чисел). Но в базовом...

Нужно создать самый простой класс (С++)
Самый обыкновенный класс, любой.

Создать класс для представления простой дроби
Создать класс для представления простой дроби. Реализовать конструкторы, функцию сокращения дроби,...

Как создать класс, который бы наследовал другой класс самым лучшим образом?
Несколько способов попробовал и не получилось. Может хоть тут помогут. Дело вот в чем, у меня...

Как создать динамический массив типа string? Как создать класс такого массива?
Как создать динамический массив типа string? Как создать класс такого массива? =-O Помогите,...

5
1481 / 936 / 454
Регистрация: 06.02.2012
Сообщений: 2,862
14.06.2022, 17:32 2
Цитата Сообщение от rasomaxon Посмотреть сообщение
А мне надо чтобы я мог через форму ввести эти пирожные и использовать их данные для подсчета например всех пирожных со сливочным кремом
Вам нужно создать файл xml, где будут хранится все ваши введенные данные.
Для этого нужно посмотреть небольшой пример.Тут
Цитата Сообщение от rasomaxon Посмотреть сообщение
Я так понимаю это надо сделать через List
Да именно так. И эту коллекцию, можно как в Serialize() так и в Deserialize(). Это говорит о том, что вы можете сохранить коллекцию в файл xml и так же ее загрузить.

Добавлено через 4 минуты
rasomaxon, И еще, при Сериализация и Десериализация, должны быть свойства, а не поле. И все они должны быть public, но никак не protected как вашем проекте.
1
2107 / 1517 / 392
Регистрация: 26.06.2017
Сообщений: 4,355
14.06.2022, 22:14 3
Фига себе Kazbek17 подсказал! Человек не разберётся как ему набор данных оформить, а тут бац и сразу сериализация. Нет, я понимаю, что так делать правильнее и в каком-то смысле проще, но может пускай человек научится строки парсить из текстового файла, как делают все новички. Хотя ...
0
1481 / 936 / 454
Регистрация: 06.02.2012
Сообщений: 2,862
14.06.2022, 22:47 4
Uswer, а разве так сложно освоить xml, с 4-мя свойствами? Накой какой то парсер, если есть готовый велик.
Если у чела есть желание, то можно и прочесть статью.
0
2107 / 1517 / 392
Регистрация: 26.06.2017
Сообщений: 4,355
14.06.2022, 22:58 5
Цитата Сообщение от Kazbek17 Посмотреть сообщение
разве так сложно освоить xml
Да в сам XML-формат и лезть не надо, прям в приложухе создаётся набор данных и сериализатором вжик в файл и готово. Вот только человек не поймёт ничего из происходящего
0
742 / 451 / 236
Регистрация: 03.01.2017
Сообщений: 1,298
15.06.2022, 12:19 6
Лучший ответ Сообщение было отмечено rasomaxon как решение

Решение

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
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Windows.Forms;
namespace Задание_1
{
    public class Cake
    {
        public string Name { get; private set; }
        public string Dough { get; private set; }
        public string Cream { get; private set; }
        public string Weight { get; private set; }
        public string Calories { get; private set; }
        public string Price { get; private set; }
        public Cake(string name, string dough, string cream, string weight, string calories, string price)
        {
            Name = name;
            Dough = dough;
            Cream = cream;
            Weight = weight;
            Calories = calories;
            Price = price;
        }
        public override string ToString()
        {
            return
            ($"Название пирожного: {Name}" + Environment.NewLine +
            $"Тип теста: {Dough}" + Environment.NewLine +
            $"Тип крема: {Cream}" + Environment.NewLine +
            $"Вес пирожного: {Weight} г." + Environment.NewLine +
            $"Каллорийность пирожного: {Calories} Ккал." + Environment.NewLine +
            $"Цена пирожного: {Price} р." + Environment.NewLine).ToString();
        }
    }
    public static class CakeExtention
    {
        public static double Sum(this List<Cake> cakes) { return cakes.Sum(c => Convert.ToDouble(c.Price)); }
        public static double Sum(this List<Cake> cakes, string cream) { return cakes.Where(c => c.Cream == cream).Sum(c => Convert.ToDouble(c.Price)); }
    }
    public partial class Form1 : Form
    {
        List<Cake> cakes = new List<Cake>();
        public Form1() { InitializeComponent(); }
        private void button1_Click(object sender, EventArgs e)
        {
            Cake cake_ = new Cake(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text);
            cakes.Add(cake_);
            textBox7.Text += cake_.ToString() + Environment.NewLine;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show($"Стоимость пирожных со сливочным кремом = {cakes.Sum("сливочный")}");
        }
        private void button3_Click(object sender, EventArgs e)
        {
            MessageBox.Show($"Стоимость пирожных = {cakes.Sum()}");
        }
    }
}
0
15.06.2022, 12:19
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.06.2022, 12:19
Помогаю со студенческими работами здесь

Как создать класс со вложенной структурой указателей на класс?
В классе Concept хранится массив (точнее map) структур Rel. Сама же структура Rel должна содержать...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий...

Как создать простой слайдер ?
Недавно, 2 с лишним часа отчаянно искал урок, где объясняется, как самому создать слайдер. Везде...

Как создать простой генератор массива
Как создать генератор, который будет создавать массив, в котором 1 список: из четырех нулей и одной...

Как создать простой казалось бы запрос
Имеем поле xfields типа text. В нем среди остального текста встречаются вставки типа . Мне надо...

Как можно создать простой Fileman...
Как можно создать простой Fileman...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Почему при инициализации массива 3х3х3 будет создано 13 одномерных массивов?
Alexander-7 16.01.2025
При инициализации многомерного массива, в данном случае трехмерного массива размерностью 3x3x3, может возникнуть путаница относительно того, как структура данных организована в памяти. Общее число. . .
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru