C# 在IF-ELSE语句中遇到问题
我正试着做一个课堂作业,我在计算如何将婚姻状况纳入数学公式时遇到了一些麻烦。请记住,我需要保持代码简单,并且必须使用if-else语句,因为这是我第三周的课。提前谢谢 这是作业,这样你就可以更好地了解我想做什么 您需要设计一个应用程序,提示用户输入他或她的小时工资率、工作时间,以及他或她是否单身、已婚、离婚或丧偶。然后,它将计算用户的毛工资和净工资。如果用户工作时间超过40小时,加班费按正常费率的1½倍计算,并单独显示。如果用户已婚,则使用15%的统一税率。如果用户是单身,则使用22%,如果离婚,则使用23%,如果丧偶,则使用13%(我意识到这些不太现实) 这是我到目前为止的代码:C# 在IF-ELSE语句中遇到问题,c#,if-statement,percentage,C#,If Statement,Percentage,我正试着做一个课堂作业,我在计算如何将婚姻状况纳入数学公式时遇到了一些麻烦。请记住,我需要保持代码简单,并且必须使用if-else语句,因为这是我第三周的课。提前谢谢 这是作业,这样你就可以更好地了解我想做什么 您需要设计一个应用程序,提示用户输入他或她的小时工资率、工作时间,以及他或她是否单身、已婚、离婚或丧偶。然后,它将计算用户的毛工资和净工资。如果用户工作时间超过40小时,加班费按正常费率的1½倍计算,并单独显示。如果用户已婚,则使用15%的统一税率。如果用户是单身,则使用22%,如果离婚
double hourlyRate;
int hoursWorked;
string marriageStatus;
double Percent;
Console.WriteLine("Enter your Pay Rate");
Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter the hours you worked this week");
Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Enter your Marital status: M for married, S for single, D for divorced and W for widow");
if (marriageStatus == M)
percent = .15
您没有根据用户输入设置marriageStatus变量 因此,您需要:
marriageStatus = Console.ReadLine();
if(!String.IsNullOrEmpty(marriageStatus)) {
marriageStatus = marriageStatus.ToUpper();
if (marriageStatus == "M") {
//do married stuff
} else if (marriageStatus =="W") {
//do widowed stuff
} else if (marriageStatus == "S") {
// do Single Stuff
} else if (marriageStatus == "D") {
// do divorced stuff
} else {
// invalid input - error handling
}
}
有几个问题:
mariageStatus
与变量M
进行比较,但M
不存在。这里您想要使用的是将它与完全不同的文本“M”
进行比较这将把用户输入存储到字符串中
string input = Console.ReadLine();
那你可以走了
if(input == "m" || input == "M")
{ percentage = 0.15;}
else if (input == "s" || input == "S")
{ percentage = .50; }
else if (input = "w" || input == "W")
{percentage = .90; }
else
{
//there was an error
percentage = 0.0;
}
先生,你的问题是什么?难道您不认为需要将从控制台获得的内容保存在变量中吗?您肯定会遇到编译器错误。你应该把它们寄出去。