c#将纳税人类别数据成员设置为等于另一种方法
|
我对C#还是很陌生,对如何设置数据成员然后使用另一种方法计算税收感到困惑。这是程序的这一部分应该做的:
\“如果用户选择默认的默认值,则将使用默认构造函数实例化费率对象,并将Taxtaxer类数据成员的税额设置为等于调用费率对象CalculateTax方法返回的值。
-我有一个switch语句,如果他们选择\'D \',则要求默认的构造函数,我不确定如何将纳税人类数据设置为默认值,我不确定CalculateTax方法是否正确。
然后如果他们选择\'O \',则执行相同类型的操作
这是我到目前为止的内容:
using System;
interface Icomparable
{
int CompareTo(Object o);
}
class rates
{
public double Limit{get;}
public double LowRate{get;}
public double HighRate{get;}
private rates()
{
Limit = 30000;
LowRate = 0.15;
HighRate = 0.28;
}
public rates(double Limit; double LowRate; double HighRate;)
{
Console.Write(\"Enter dollar limit: \");
Limit = Convert.ToDouble(Console.ReadLine());
Console.Write(\"Enter the low rate: \");
LowRate = Convert.ToDouble(Console.ReadLine());
Console.Write(\"Enter the high rate: \");
HighRate = Convert.ToDouble(Console.ReadLine());
}
public CalculateTax()
{
if(Income < Limit)
{TaxOwed = (Income * LowRate)}
else
{TaxOwed = (Income * HighRate)}
}
}
public class taxpayer : IComparable
{
public string SSN{get; set;}
public double Income{get; set;}
public double TaxOwed{get;}
int IComparable.CompareTo(Object o)
{
int returnVal;
taxpayer temp = (taxpayer)o;
if(this.TaxOwed > temp.TaxOwed)
returnVal = 1;
else
if(this.TaxOwed < temp.TaxOwed)
returnVal = -1;
else
returnVal = 0;
return returnVal;
}
public getRates()
{
double Limit;
double LowRate;
double HighRate;
Console.WriteLine(\"Do you want default values(enter D) or enter your own (enter O)?\");
entry = Convert.ToChar(Console.ReadLine());
switch (entry) //set switch
{
case\'D\':
rates();
break;
case\'O\':
rates(double Limit; double LowRate; double HighRate;)
break;
default:
Console.WriteLine(\"Invalid input\");
goto getRates();
}
}
}
任何帮助,将不胜感激。
没有找到相关结果
已邀请:
2 个回复
孤捷侩
哦,goto怎么了?
呸溉
在以下功能中,是否要提示用户输入值?如果是这样,请将第一行从
至
现在你的代码看起来像
虚拟对象只是为了让代码区分您的两个不同功能。 在您的switch语句中,只需调用rates(bool dummy)函数即可,而不是另一个函数。对于假人,请为它分配true或false,在乎...。它看起来像下面的样子。
您的代码还有更多问题,但是您必须对其进行修改,然后我们才能进一步为您提供帮助。实际上,您应该尝试在VS中使用它,因为编辑器可以通过给您特定的错误来帮助您解决问题。