Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在IF-ELSE语句中遇到问题_C#_If Statement_Percentage - Fatal编程技术网

C# 在IF-ELSE语句中遇到问题

C# 在IF-ELSE语句中遇到问题,c#,if-statement,percentage,C#,If Statement,Percentage,我正试着做一个课堂作业,我在计算如何将婚姻状况纳入数学公式时遇到了一些麻烦。请记住,我需要保持代码简单,并且必须使用if-else语句,因为这是我第三周的课。提前谢谢 这是作业,这样你就可以更好地了解我想做什么 您需要设计一个应用程序,提示用户输入他或她的小时工资率、工作时间,以及他或她是否单身、已婚、离婚或丧偶。然后,它将计算用户的毛工资和净工资。如果用户工作时间超过40小时,加班费按正常费率的1½倍计算,并单独显示。如果用户已婚,则使用15%的统一税率。如果用户是单身,则使用22%,如果离婚

我正试着做一个课堂作业,我在计算如何将婚姻状况纳入数学公式时遇到了一些麻烦。请记住,我需要保持代码简单,并且必须使用if-else语句,因为这是我第三周的课。提前谢谢

这是作业,这样你就可以更好地了解我想做什么

您需要设计一个应用程序,提示用户输入他或她的小时工资率、工作时间,以及他或她是否单身、已婚、离婚或丧偶。然后,它将计算用户的毛工资和净工资。如果用户工作时间超过40小时,加班费按正常费率的1½倍计算,并单独显示。如果用户已婚,则使用15%的统一税率。如果用户是单身,则使用22%,如果离婚,则使用23%,如果丧偶,则使用13%(我意识到这些不太现实)

这是我到目前为止的代码:

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
}
}
有几个问题:

  • 您正在从控制台读取数据,但并没有将输入存储在任何地方。您需要将读取的内容放入变量中
  • 在if语句中,您将变量
    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;
    }
    

    先生,你的问题是什么?难道您不认为需要将从控制台获得的内容保存在变量中吗?您肯定会遇到编译器错误。你应该把它们寄出去。