Реализовать класс 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(" ", " "); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д