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

Создать класс, содержащий список (или массив) объектов

18.03.2019, 20:28. Показов 8527. Ответов 2

Author24 — интернет-сервис помощи студентам
Задание из двух частей:

1)Создать абстрактный класс Pair(пара значений) с виртуальными арифметическими операциями
и методом вывода на экран.На его основе реализовать классы Money(деньги).
В классе Money денежная сумма представляется в виде двух целых, в которых хранятся
рубли и копейки соответственно.При выводе части числа снабжаются словами "руб."
и "коп.".

2)Создать класс Series (набор), содержащий список (или массив) объектов этих
классов в динамической памяти.Предусмотреть возможность вывода объектов списка.
Написать демонстрационную программу, в которой будут использоваться все методы классов.

И с первым я кое как справился, а что делать со вторым не совсем понятно
Есть вот такие наработки:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace lab_3
{
    public abstract class Pair
    {
        protected int FirstPairElement { get; set; }
        protected int SeconPairElement { get; set; }
 
        public abstract Pair Substract(Pair value);
        public abstract Pair Add(Pair value);
 
    }
 
    public class Money : Pair
    {
        public int Roubles
        {
            get
            {
                return FirstPairElement;
            }
            set { FirstPairElement = value; }
        }
 
        public int Copeck
        {
            get
            {
                return SeconPairElement;
            }
            set
            {
                SeconPairElement = value;
                if (SeconPairElement > 99)
                {
                    SeconPairElement -= 100;
                    Roubles += 1;
                }
                if (SeconPairElement < 0)
                {
                    SeconPairElement += 100;
                    Roubles -= 1;
                }
            }
        }
 
        public override Pair Add(Pair value)
        {
            Money newValue = new Money();
            newValue.Roubles = this.Roubles + (value as Money).Roubles;
            newValue.Copeck = this.Copeck + (value as Money).Copeck;
            return newValue;
        }
 
        public override Pair Substract(Pair value)
        {
            Money newValue = new Money();
            newValue.Roubles = this.Roubles - (value as Money).Roubles;
            newValue.Copeck = this.Copeck - (value as Money).Copeck;
            return newValue;
        }
 
        public override string ToString() // Переопределение метода ToString у базового класса Object
        {
            return string.Format("{0} руб. {1} коп.", this.Roubles, this.Copeck);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int res = 0;
            Money F_Value = new Money();
            Money S_Value = new Money();
 
 
            Console.WriteLine("Введите первое число, в рублях:");
            string result = Console.ReadLine();
            if (int.TryParse(result, out res))
                F_Value.Roubles = res;
 
 
            Console.WriteLine("Копейки для первого числа:");
            result = Console.ReadLine();
            if (int.TryParse(result, out res))
                F_Value.Copeck = res;
            Console.WriteLine("Введено число: " + F_Value.ToString() + " \n\n\nВведите второе число, рубли:");
            result = Console.ReadLine();
            if (int.TryParse(result, out res))
                S_Value.Roubles = res;
 
 
            Console.WriteLine("Копейки для второго числа:");
            result = Console.ReadLine();
            if (int.TryParse(result, out res))
                S_Value.Copeck = res;
            Console.WriteLine("Введено число: " + S_Value.ToString());
 
            Console.WriteLine("_________________________________________________________________");
            Console.WriteLine("Сумма:   {0} + {1} = {2}", F_Value.ToString(), S_Value.ToString(), (F_Value.Add(S_Value).ToString()));
            Console.WriteLine("Разница: {0} - {1} = {2}", F_Value.ToString(), S_Value.ToString(), (F_Value.Substract(S_Value).ToString()));
            Console.ReadLine();
 
        }
    }
 
    
}
буду благодарен любой помощи
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2019, 20:28
Ответы с готовыми решениями:

Программа должна содержать также класс «город», хранящий в себе массив или список городских объектов
Уважаемые форумчане, только начал недавно изучать C# и вот появилась проблема. Прошу вас помочь мне...

Класс содержащий массив объектов другого класса
Добрый день. Нужно создать класс,содержащий массив объектов другого класса: ref class Queue1...

Создать список, содержащий абстрактный класс
#include &lt;list&gt; #include &lt;iostream&gt; using namespace std; class CGraphicsObject { public: ...

Создать обобщенный класс, содержащий список элементов (List <T>)
Народ нужна помощь Нужно создать обобщенный класс, содержащий список элементов (List &lt;T&gt;). ...

2
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
18.03.2019, 20:38 2
Лучший ответ Сообщение было отмечено EdAiL как решение

Решение

Цитата Сообщение от EdAiL Посмотреть сообщение
а что делать со вторым не совсем понятно
Ну, примерно так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Series
{
    private List<Money> wallet;
    public Series()
    {
         wallet = new List<Money>();
    }
 
    public void Add(Money money)
    {
        wallet.Add(money)
    }
 
    public void Print()
    {
        foreach(var m in wallet)
            Console.WriteLine(m.ToString());
    }
}
1
0 / 0 / 0
Регистрация: 13.12.2018
Сообщений: 17
18.03.2019, 20:54  [ТС] 3
Ух ты, оперативно. Суть понял, спасибо большое
0
18.03.2019, 20:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2019, 20:54
Помогаю со студенческими работами здесь

Создать класс содержащий динамический массив
Создать класс, содержащий динамический массив и количество элементов в нем. Добавить конструктор,...

Создать класс содержащий одномерный целочисленный массив
Объявить класс, содержащий одномерный целочисленный массив размерностью 5, индексатор для работы с...

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

Создать массив/список объектов и вывести
Подскажите пожалуйста как исправить код. Задание следующее: Airline: Пункт назначения, Номер...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru