Добавление процентных ставок на банковские счета в c#

#c# #console #console-application #onlinebanking

Вопрос:

Я новичок в c# и создал три аккаунта для банковской системы: Повседневный, Инвестиционный и Omni. Проблема, с которой я столкнулся, заключается в том, что я не могу понять, как я смогу добавить процентные ставки и сборы к счетам в классе. Ниже приведены требования к каждому классу:

Ежедневный счет: Без процентов, без овердрафта, без комиссий

Инвестиции: Процентные ставки (варьируются) выплачиваются по всем средствам, овердрафт не допускается, комиссия, взимаемая за неудачную транзакцию.

Omni: Процентные ставки выплачиваются только по остаткам свыше 1000 долларов США; указывается разрешенный овердрафт; комиссия за неудачные транзакции.

Любая помощь в добавлении этого в мои классы и код будет очень признательна. Просто на данный момент я действительно застрял.

// Ежедневный Аккаунт

     class Everyday : Account
    {
        //field

        private double minBalance;
        private double maxBalance;


        //properties
        public double MinBalance
        { get { return this.minBalance; } }

        public double MaxBalance
        { get { return this.maxBalance; } }

        //constructors

        public Everyday(double balance) : base()
        {
            this.minBalance = 0;
            this.maxBalance = 1000000000000;
            this.balance = balance;
            accountType = "Everyday Account";
        }

        //methods
    }
 

// Инвестиционный Счет

     class Investment : Account
    {
        //field

        private double minBalance;
        private double maxBalance;


        //properties
        public double MinBalance
        { get { return this.minBalance; } }

        public double MaxBalance
        { get { return this.maxBalance; } }

        //constructors

        public Investment(double balance) : base()
        {
            this.minBalance = 0;
            this.maxBalance = 1000000000000;
            this.balance = balance;
            accountType = "Investment Account";
        }

        //methods
    }
 

// Omni Account

     class Omni : Account
    {
        //field

        private double minBalance;
        private double maxBalance;


        //properties
        public double MinBalance
        { get { return this.minBalance; } }

        public double MaxBalance
        { get { return this.maxBalance; } }

        //constructors

        public Omni(double balance) : base()
        {
            this.minBalance = 0;
            this.maxBalance = 1000000000000;
            this.balance = balance;
            accountType = "Omni Account";
        }

        //methods
    }
 

// Учетная запись

        class Account : Customer
       {

        // Fields

        private double accountNumber;
        protected string accountType;

        protected double balance;
        protected double deposit;
        protected double withdrawal;

        // Properties

        public string AccountType
        {
            get { return this.accountType; }
        }

        public double Withdrawal
        {
            get { return this.withdrawal; }
            set { this.withdrawal = value; }
        }
        public double Deposit
        {
            get { return this.deposit; }
            set { this.deposit = value; }
        }
        public double AcctNumber
        { get { return this.accountNumber; } }

        public double Bal
        { get { return this.balance; } }


        // Creating Random Account Number

        public virtual double AccountNumb()
        {
            Random rand = new Random();
            this.accountNumber = rand.Next(100000000, 1000000000);
            return accountNumber;
        }


        //Computes General Balance(resets values)
        public virtual double Balance()
        {
            balance = balance   deposit - withdrawal;
            deposit = 0;
            withdrawal = 0;
            return balance;
        }

        //Computers Balance when withdrawal equals zero
        public virtual double DepositBalance(double input)
        {
            deposit = input;
            withdrawal = 0;
            balance = balance   deposit - withdrawal;
            return balance;
        }

        //Computers balance when deposit equals zero
        public virtual double WithBalance(double input)
        {
            withdrawal = input;
            deposit = 0;
            balance = balance   deposit - withdrawal;
            return balance;
        }


        //displays online banking menu
        public virtual void DisplayMenu()
        {
            Console.WriteLine("Welcome to your online bank accountnPlease choose from the options below: ");
            Console.WriteLine("");
            Console.WriteLine("1.View Client Info");
            Console.WriteLine("");
            Console.WriteLine("2. View Account Balance:");
            Console.WriteLine("     2A.Everydayn     2B.Investmentn     2C.Omni");
            Console.WriteLine("");
            Console.WriteLine("3.Deposit Funds:n     3A.Everydayn     3B.Investmentn     3C.Omni");
            Console.WriteLine("");
            Console.WriteLine("4.Withdraw Funds:n     4A.Everydayn     4B.Investmentn     4C.Omni");
            Console.WriteLine("");
            Console.WriteLine("5.Exit");
        }


    }
 

Комментарии:

1. Возможно, создайте интерфейс для процентной ставки по счетам, который вы можете реализовать для каждого типа счетов в зависимости от необходимой вам функциональности.

2. К сожалению, для этого мне приходится делать это полностью, используя только консоль, без интерфейса.

3. Я не имею в виду пользовательский интерфейс, я имею в виду это — Интерфейсы на C#

4. О, хорошо, не знаю, как бы я это сделал с учетом процентных ставок, к сожалению

Ответ №1:

в инвестиционном классе :` Инвестиции класса : Учетная запись { //поле

     private double minBalance;
    private double maxBalance;
    //add this
    private double tax;


    //properties
    public double MinBalance
    { get { return this.minBalance; } }

    public double MaxBalance
    { get { return this.maxBalance; } }
    public double Tax{get{return this.tax;}}

    //constructors

    public Investment(double balance) : base()
    {
        this.minBalance = 0;
        this.maxBalance = 1000000000000;
        this.balance = balance*Tax balance;
        accountType = "Investment Account";
    }

    //methods
}
 

and in omni class:
класс Omni : Учетная запись
{
//поле

     private double minBalance;
    private double maxBalance;
    private double Tax;


    //properties
    public double MinBalance
    { get { return this.minBalance; } }

    public double MaxBalance
    { get { return this.maxBalance; } }

    public double Tax{get{return this.tax;}}
    //constructors

    public Omni(double balance) : base()
    {
        this.minBalance = 0;
        this.maxBalance = 1000000000000;
        if (balance>=1000){this.balance=blance*Tax balance}
        else {this.balance=balance}
        accountType = "Omni Account";
    }

    //methods
}
 

`

Комментарии:

1. Пожалуйста, укажите дополнительную информацию в своем ответе. Как это написано в настоящее время, трудно понять ваше решение.

2. добавьте налоговые свойства в каждый класс , которые содержат налог, в конструкторе измените баланс, чтобы увеличить /уменьшить налог ..это зависит от вашего проекта