Vb.net 在一个循环中,如何为超过4的每一个数字加50,直到31?

Vb.net 在一个循环中,如何为超过4的每一个数字加50,直到31?,vb.net,loops,Vb.net,Loops,特德受雇于一份工作,他的雇主根据他一个月工作的天数付给他工资。他的雇主同意特德的工资是第一天3美元,第二天9美元,第三天27美元,第四天81美元。如果他工作超过4天,他的雇主同意每多工作一天支付50美元。创建一个应用程序,允许用户在文本框中选择/输入Ted将工作的天数,并显示其当月的常规工资 您需要做的第一件事是验证用户输入的有效整数是否大于0。为此,您需要尝试使用将输入的值转换为整数 一旦这个数字被确认,你就需要保持一个工资总额。要做到这一点,只需声明一个整数变量,因为pay永远不会包含小数

特德受雇于一份工作,他的雇主根据他一个月工作的天数付给他工资。他的雇主同意特德的工资是第一天3美元,第二天9美元,第三天27美元,第四天81美元。如果他工作超过4天,他的雇主同意每多工作一天支付50美元。创建一个应用程序,允许用户在文本框中选择/输入Ted将工作的天数,并显示其当月的常规工资

您需要做的第一件事是验证用户输入的有效整数是否大于0。为此,您需要尝试使用将输入的值转换为整数

一旦这个数字被确认,你就需要保持一个工资总额。要做到这一点,只需声明一个整数变量,因为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"))

Fiddle:

Kameron加入了一个互联网问答网站,他/她应该在发帖前阅读并记录答案,然后首先花些精力寻找解决方案。你尝试过什么,你尝试过什么失败了?理想情况下,您应该提供您尝试过的内容的详细信息,并包括关于失败原因的具体信息,以及错误消息和/或错误输出。不是代码编写服务;最好的问题是那些提供有用信息的问题,这样那些回答问题的人可以引导你设计出自己的正确答案。看,在4号之前的几天里,我已经能够写出if-then语句了。我正在努力寻找一个简单的解决方案,如何编写一个代码,在4之后每个数字加50,而在31之前不为每个数字编写代码。请编辑您的问题,以包括您当前的代码,以及您正在努力解决的问题。目前,你似乎希望有人帮你写作业。既然你能用简单的数学,为什么还要用循环呢?第五天之后每天50美元-因此这只是
50*(days-5)
…因为用户表示他们需要使用循环。我猜这是一项作业,也是一项要求。“创建一个应用程序,允许用户在文本框中选择/输入Ted工作的天数,并显示他每月的正常工资。”IMHO,学生们,使用循环解决这个问题,我想感谢所有回答这篇文章的人。Zohar是对的,我可以用这个简单的公式,我只是相信循环是唯一的方法。我没在想。谢谢你,大卫,你也为我指明了道路,感谢你的时间。@Kameron-如果你感谢大卫的回答,你应该接受它。