2015-05-31 3 views
1

Я только начинаю с изучения базового программирования с Sams и уже имею проблемы с простым калькулятором зарплаты, который я пытался написать. Может кто-нибудь объяснить, как я могу лучше переписать это? И можете ли вы следовать только инструкциям IF THEN с командой печати? Я думаю, что мне придется инвестировать в новую книгу, но я надеялся, что я смогу добиться этого, по крайней мере, тем временем.Liberty Basic Payroll Calculator IF ELSE

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 

ответ

0

Я не пользуюсь Свободой, но я думаю, что он жалуется, когда вы пытаетесь сделать математику по строкам. Кроме того, я нахожу ваше неправильное использование имени «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 
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 есть учебное пособие в разделе справки, которое вы можете использовать, чтобы научить себя кодированию. В противном случае начало программирования для чайников - еще одно полезное руководство - вот что я использую :)