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

Реализация методов абстрактного класса

01.11.2017, 20:31. Показов 966. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задания реализация перевода введенной суммы гривен в другие валюты(рубли,евро, доллар)
Выводит по нулям, но как задать курс?
Код:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Valuta
{
 
    abstract class BaseValuta //Абстрактный класс
    {
 
        protected double val;
        public BaseValuta(double val)
        {
            this.val = val;
        }
        public abstract double UAN { get; set;}
        public abstract double RUB { get; set;}
        public abstract double USD { get; set;}
        public abstract double EUR { get; set; }
    }
    class KursUAN : BaseValuta
    {
        // Курсы к гривне
        // статические потому что одни на всех
        private static double ToRUB, ToEUR, ToUSD;
        // Установка курсов валют
        public static void KursyValut(double toRUB, double toEUR, double toUSD)
        {
            KursUAN.ToEUR = toEUR;
            toEUR = 30;
            KursUAN.ToRUB = toRUB;
            KursUAN.ToUSD = toUSD;
        }
 
        public KursUAN(double value)
            : base(value)
        { }
 
        public override double USD
        {
            get { return KursUAN.ToUSD * val; }
            set { val = value / KursUAN.ToUSD; }
        }
        public override double RUB
        {
            get { return KursUAN.ToRUB * val; }
            set { val = value / KursUAN.ToRUB; }
        }
        public override double UAN /*{ get => throw new NotImplementedException(); set => throw new NotImplementedException(); }*/
        {
            get { return val; }
            set { val = value; }
        }
        public override double EUR
        {
            get { return KursUAN.ToEUR * val; }
            set { val = value / KursUAN.ToEUR; }
        }
 
    }
    
    class MainClass
    {
        public static void Main(string[] args)
        {
 
            Console.Write("Введите сумму в гривне: ");
            BaseValuta v = new KursUAN(double.Parse(Console.ReadLine()));
            Console.WriteLine("В долларах: {0:0.##}", v.USD);
            Console.WriteLine("В рублях: {0:0.##}", v.RUB);
            //Console.WriteLine("В гривнах: {0:0.##}", v.UAH);
            Console.WriteLine("В евро: {0:0.##}", v.EUR);
            Console.ReadKey();
        }
    }
}
Проект прикреплен
Вложения
Тип файла: rar Lab4.rar (15.9 Кб, 1 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.11.2017, 20:31
Ответы с готовыми решениями:

Вызов методов абстрактного класса
Создал абстрактный класс, переопределил абстрактный метод. Как мне теперь вызвать методы m1, m2? using System; abstract class A...

Как достучатся до полей и методов наследника абстрактного класса?
Начал писать игру "бомбермен". Создал абстрактный класс Ячейка (abstract class Cell). От ячейки отнаследовал классы. class...

Какое из следующих объявлений абстрактных методов абстрактного класса верно
A) public abstract Method(); B) public abstract void Method(); C) public void abstract Method(); D) public void Method() {}

1
97 / 98 / 58
Регистрация: 29.09.2016
Сообщений: 410
01.11.2017, 23:20
Просто после создания объекта , вызови метод и введи значения по отношению 1 гривна к валюте.
C#
1
2
3
4
5
6
7
8
9
10
11
12
 public static void Main(string[] args)
        {
 
            Console.Write("Введите сумму в гривне: ");
            BaseValuta v = new KursUAN(double.Parse(Console.ReadLine()));
            KursUAN.KursyValut(0.5, 30, 25);
            Console.WriteLine("В долларах: {0:0.##}", v.USD);
            Console.WriteLine("В рублях: {0:0.##}", v.RUB);
            //Console.WriteLine("В гривнах: {0:0.##}", v.UAH);
            Console.WriteLine("В евро: {0:0.##}", v.EUR);
            Console.ReadKey();
        }
Добавлено через 10 минут
С курсом перепутал,
C#
1
KursUAN.KursyValut(2.5, 0.03, 0.025);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2017, 23:20
Помогаю со студенческими работами здесь

Реализация абстрактного метода без создания класса-наследника, как в JAVA
В JAVA есть такая фича: реализация абстрактного метода при создании экземпляра. public abstract class Base { abstract public void...

Грамотная реализация альтернативных методов одного класса
Добрый день. Работаю программистом, но книги не читал, базы нет, поэтому часто возникают вопросы на довольно общие темы. Похожим шаблонов...

Как обратиться из конструктора базового абстрактного класса к свойству-массиву класса наследника
Добрый день. Подскажите как обратиться из конструктора базового абстрактного класса к свойству-массиву из класса наследника. Вроде бы...

Сериализация абстрактного класса
Уважаемые умные и сообразительные люди, не могли бы вы меня просветить в одном тёмном для меня деле, сериализация абстрактного класса. ...

Сортировка абстрактного класса
Так код работает: abstract class Transport : IComparable { public string fam;// punkt_otpravlenia; //color ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru