Реализовать класс Account, представляющий собой банковский счет - C#

Узнай цену своей работы

Формулировка задачи:

Реализовать класс Account, представляющий собой банковский счет. В классе должны быть четыре поля: фамилия владельца, номер счета, процент начисления и сумма в рублях. Необходимо выполнять следующие операции: сменить владельца счета, снять некоторую сумму денег со счета, положить деньги на счет, начислить проценты, перевести сумму в доллары, перевести сумму в евро, получить сумму прописью (преобразовать в числительное).

Решение задачи: «Реализовать класс Account, представляющий собой банковский счет»

textual
Листинг программы
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Account аccount = new Account
            {
                ФамилияВладельца = "",
                НомерСчета = "123abc",
                ПроцентНачисления = 0.13M,
                СуммаРубли = 10000.23M
            };
 
            СменаВладельца(аccount, "Neko");
            СнятьНeкоторуюСуммуСчета(аccount, 100);
            ПоложитьНаСчет(аccount, 100);
            НачислитьПроцентьіЗаМесяц(аccount);
            ПеревестиЕвро(аccount);
            ПеревестиДоларьі(аccount);
            СуммаПрописью(аccount);
        }
 
        public class Account
        {
            public string ФамилияВладельца;
            public string НомерСчета;
            public decimal ПроцентНачисления;
            public decimal СуммаРубли;
        }
 
        static void СменаВладельца(Account аccount, string новьійвладелец)
        { аccount.ФамилияВладельца = новьійвладелец; }
 
        static void СнятьНeкоторуюСуммуСчета(Account аccount, int сумма)
        {
            // в условии нет описания ситуации, когда на счету меньше снимаемого, 
            //а значит тут я кручу-верчу-делаю-что-хочу (разрешаю отрицательньій баланс)
            аccount.СуммаРубли -= сумма;
        }
 
        static void ПоложитьНаСчет(Account аccount, int сумма)
        { аccount.СуммаРубли -= сумма; }
 
        static void НачислитьПроцентьіЗаМесяц(Account аccount)
        { аccount.СуммаРубли = аccount.СуммаРубли * (1 + аccount.ПроцентНачисления); }
 
        static void ПеревестиЕвро(Account аccount)
        { Console.WriteLine("Счет в евро = " + (аccount.СуммаРубли / 40).ToString()); }
 
        static void ПеревестиДоларьі(Account аccount)
        { Console.WriteLine("Счет в доларах = " + (аccount.СуммаРубли / 30).ToString()); }
 
        static void СуммаПрописью(Account аccount)
        {
            string result = "";
            decimal nya = decimal.Truncate(аccount.СуммаРубли);
            if (аccount.СуммаРубли < 0)
            {
                result += "минус ";
                nya = decimal.Negate(nya);
            }
            int i = 0;
            string[] рaзрядность = new string[] {"", "тьіс.", "мил.", "трил.", "покемонов"};
            while (nya > 0)
            {
                result = Get(Convert.ToInt32(nya % 1000)) + " " + рaзрядность[i] + result;
                i++;
                nya = decimal.Truncate(nya / 1000);
            }
 
            if (!string.IsNullOrEmpty(result))
                result += " руб.";
 
            if ((nya = decimal.Truncate(аccount.СуммаРубли * 100) % 100) > 0)
                result += Get(Convert.ToInt32(nya)) + " коп.";
 
            Console.WriteLine("на счету " + (string.IsNullOrEmpty(result) ? "ноль" : result));
        }
 
        //вспомогательньій метод получения значений по каждой сотни
        static string Get(int val)
        {
            string[] сотни = new string[] { "", "сто", "двести", "триста", "четьіреста", "пятсот", "шесот", "семсот", "восемсот", "девятсот" };
            string[] десятки = new string[] { "", "", "двадцать", "тридцать", "сорок", "пятьдесят", "шестдесят", "семдесят", "восемдесят", "девяносто" };
            string[] единицьі = new string[] { "", "один", "два", "три", "четьіре", "пять", "шесть", "сем", "восем", "девять",
                "десять", "одинадцать", "двенадцать", "тринадцать", "четьірнадцать", "шеснадцать", "семнадцать", "восемнадцать", "девятьнадцать"};
            return (сотни[val / 100] + " " + десятки[val / 10 % 10] + " " + единицьі[val % 10 + (val / 10 % 10 == 1 ? 10 : 0)]).Replace("  ", " ");
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы