#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. добавьте налоговые свойства в каждый класс , которые содержат налог, в конструкторе измените баланс, чтобы увеличить /уменьшить налог ..это зависит от вашего проекта