Liberty基本工资计算器IF ELSE

时间:2015-05-31 01:54:28

标签: calculator basic

我刚刚开始学习使用Sams的基本编程,并且已经遇到了我一直在努力编写的简单薪资计算器的问题。有人可以解释我怎样才能更好地重写这个?你能用print命令跟踪IF THEN语句吗?我想我将不得不投资一本较新的书,但我希望至少在此期间能让它运行起来。

Input "Please input payrate: "; Ans$
    Print
Input "Please input hours worked: "; Hrs$
If (Hrs$ >= "40") Then
    payRate = (Hrs$ * Ans$)
Else If (Hrs$ <= "41") Then
    payRate = Hrs$ * (1.5 * Ans$)
End If

taxRate = payRate * .15
grossPay = payRate * Hrs$
netPay = payRate - taxRate

Print

Print: "Your net pay is: "; netPay

2 个答案:

答案 0 :(得分:0)

我不使用Liberty,但我想当你在字符串上做数学时它会抱怨。另外,我发现你滥用“payrate”这个名字令人困惑。超时计算的逻辑也是错误的。这是我第一次尝试改写:

Input "Please input payrate: "; Rate$
Rate = val(Rate$)
Print
Input "Please input hours worked: "; Hrs$
Hrs = val(Hrs$)
Gross = Hrs * Rate
If Hrs > 40 Then Gross = Gross + ((Hrs - 40) * Rate / 2))
Taxes = Gross * .15
Net = Gross - Taxes
Print
Print: "Your gross pay is: "; Gross
Print: "Your net pay (after $";Taxes;" in taxes) is: "; Net

答案 1 :(得分:0)

此代码适用于Liberty BASIC:

INPUT "Please enter hours worked: "; hours 'you don't need a dollar sign at the end of the variable because it's a value not a string
INPUT "Please enter your hourly rate: "; hourlyRate
gross = hours * hourlyRate 'works out the gross amount
IF (hours > 40) THEN 'if the person worked more than 40 hours, then the following command is applicable...
gross = 40 * hourlyRate + ((hours - 40) * (hourlyRate * 1.5)) 'this line calculates the money earned for 40 hours, and adds the remaining hours at 1.5 times the hourly rate
END IF 'end the IF condition
tax = gross * 0.15 'calculates the tax at 15%
net = gross - tax 'calculates the net pay (i.e., gross pay after tax)
PRINT "-------------------------------"
PRINT "Your gross pay is: "; gross
PRINT "Your net pay is: "; net

正如之前的海报建议的那样,你应该使用数值而不是字符串来表示数学(价值不要在最后有一个美元符号),当你标记变量时,它们应该有一个有意义的名称与你正试图实现。

Liberty BASIC在帮助下有一个教程,您可以使用它来教自己如何编码。否则开始编程傻瓜是另一个有用的指南 - 这是我使用的:)

相关问题