Reputation: 29
public static void BankCharges()
{
Console.WriteLine("What is the initial amount in the account?");
string am = Console.ReadLine();
double balance = Convert.ToDouble(am);
Console.WriteLine("How many checks have you made?");
string ch = Console.ReadLine();
double checks = Convert.ToDouble(ch);
double fees = 0.0;
BankCharges bankcharges = new BankCharges(balance, checks, fees);
Console.WriteLine("Your final fee for the month is ${0}", bankcharges.GetFees);
}
class BankCharges
{
public BankCharges(double balance, double checks, double fees)
{
this.Balance = balance;
this.Checks = checks;
this.Fees = fees;
}
double underfee = 0;
private double balance;
public double Balance
{
get { return balance; }
set { balance = value; }
}
private double checks;
public double Checks
{
get { return checks; }
set { checks = value; }
}
private double fees;
public double Fees
{
get { return fees; }
set { fees = value; }
}
public double GetFees()
{
if (Balance < 400)
{
underfee = 15;
}
else
{
underfee = 0;
}
if(checks < 20)
{
fees = .10;
}
else if (checks < 39 && checks > 20)
{
fees = .08;
}
else if (checks < 59 && checks > 40)
{
fees = .06;
}
else if (checks < 0)
{
Console.WriteLine("You cannot have a negative amount of checks!");
}
else
{
fees = .04;
}
double FinalFee = checks*fees + underfee;
return FinalFee;
}
I am doing a challenge in C#, and have run into some problems. The last line in the main class (Console.WriteLine("Your final fee for the month is ${0}", bankcharges.GetFees);), is underlined in red with the error message: The best overloaded method match for has some invalid arguments. Could someone please help me fix this error?
Upvotes: 0
Views: 50
Reputation: 133
GetFees is a method call yet you are missing brackets for it;
Console.WriteLine("Your final fee for the month is ${0}", bankcharges.GetFees());
Upvotes: 4