如何在循环中为每个数字添加50,直到31?

时间:2017-11-14 14:41:25

标签: vb.net loops

Ted受雇于一份工作,他的雇主根据他一个月工作的天数向他付款。他的雇主同意泰德的第一天工资为3美元,第二天为9美元,第三天为27美元,第四天为81美元。如果他工作超过4天,他的雇主同意每增加一天就业,每天支付50美元。创建一个应用程序,允许用户选择/输入Ted将工作的天数并输入该月的常规工资。

1 个答案:

答案 0 :(得分:0)

您需要做的第一件事是验证用户输入了超过0的有效整数。为此,您需要尝试使用{{将输入的值转换为整数3}}

一旦验证了号码,您就需要保持运行的总薪水。为此,只需声明一个Integer变量,因为pay不会包含小数。

声明变量后,您需要检查输入的天数是否大于或等于1,2,3和/或4,然后分别将运行总数增加3,9,27 ,和81。

最后,最后一步是使用For / Next循环从5进行迭代到输入的天数,并将运行总数增加50.如果输入的天数小于5,那么它将不会执行循环。

以下是演示这些说明的简单示例:

'Prompt for the number of days to work
Dim days As Integer = 0
Console.Write("Days to Work: ")

'Loop until the user enters a valid number over 0
Do Until Integer.TryParse(Console.ReadLine(), days) AndAlso days > 0
    'Display the error and re-prompt
    Console.WriteLine("Please enter a valid whole number over 0.")
    Console.Write("Days to Work: ")
Loop

'Keep a running total
Dim total As Integer = 0

'Use a conditional statement to increment the total by 3, 9, 27, and 81 if the days to work are respectively >= 1, 2, 3, 4
If days >= 1 Then
    total += 3
End If
If days >= 2 Then
    total += 9
End If
If days >= 3 Then
    total += 27
End If
If days >= 4 Then
    total += 81
End If

'Now loop from 5 to the number of days to work, if the upper-bounds is less than 5 then the loop won't execute
For counter As Integer = 5 To days
    'Increment the running total by 50
    total += 50
Next

'Display the running total as a currency
Console.WriteLine("Total: {0}", total.ToString("C"))

小提琴:Integer.TryParse