level 1
我是一个高一的学生,我们电脑老师在课上给我们布置了自己编段程序。可是关于编程老师什么都没讲过,在课上只是教我们画流程图。可现在他要我们在10天内拿出一个程序,希望这里的谁能帮助我一下~!具体要求是进行个人所得税的计算,在输入数值之后就能够现实出你所要交纳的税额。当你的收入小于或者等与1600的时候不交税。超过的部分税率如下:应纳税所得额 税率% 1 不超过500元的 5 2 超过500元至2000元的部分 10 3 超过2000元至5000元的部分 15 4 超过5000元至20000元的部分 20 5 超过20000元至40000元的部分 25 6 超过40000元至60000元的部分 30 7 超过60000元至80000元的部分 35 8 超过80000元至100000元的部分 40 9 超过100000元的部分 45 希望这里的各位帮我一下!要求是VB6.0编写的程序就可以~
2007年03月05日 12点03分
1
level 1
要是不能写出全部的代码,写一段也可以,剩下我自己研究~
2007年03月05日 13点03分
2
level 13
既然小于或者等与1600的时候不交税,那么1 不超过500元的 5 2 超过500元至2000元的部分 10 这两条不是在自打嘴吧吗 ? 写明确些, 再使用 Select case 去做吧, 想替你写都不知该怎么写了。
2007年03月05日 13点03分
3
level 1
Private lTaxPointPrivate lTaxConst lStartTax As Long = 1600Private Sub Form_Load()Dim Lm As LonglTaxPoint = Array(0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000)lTax = Array(5, 10, 15, 20, 25, 30, 35, 40, 45)MsgBox GetTaxForCapital(1853)EndEnd SubPrivate Function GetTaxForCapital(Lm As Long) As Double GetTaxForCapital = GetTax(Lm - lStartTax)End FunctionPrivate Function GetTax(ByVal Lm As Long, Optional iIndex As Integer = -1) As Double If iIndex < 0 Then iIndex = UBound(lTaxPoint) If Lm <= 0 Then GetTax = 0 ElseIf Lm >= lTaxPoint(iIndex) Then GetTax = GetTax(lTaxPoint(iIndex), iIndex - 1) + (Lm - lTaxPoint(iIndex)) * lTax(iIndex) / 100 Else GetTax = GetTax(Lm, iIndex - 1) End IfEnd Function
2007年03月06日 01点03分
5
level 1
饿...也许3楼没明白我的意思吧..是税率啊...我怎么没发现矛盾....再有问题MAIL我吧....
2007年03月09日 12点03分
6
level 1
3楼和5楼都没明白楼主的意思,建议你们去税务部门调研一下,先了解清楚再评论和写代码
2007年03月09日 12点03分
7
level 1
你先判断工资是否大于1600,如果大于1600,将工资按那等级分成几段,然后逐段计算税,最后将各段的税加起来,这很简单,你自己试着做做,
2007年03月09日 12点03分
9
level 13
我在3F 说的意思是: 一般是有一个免税标准,楼主定的是1600那么楼主为何写"不超过500元的 5%" ? 照字面的解释是 收入0-500元要交 5%的税, 但以我的经验就是 收入0-1600免税,1601-2100 的收入是:例如 收入2100元则应交税额是 (2100-1600)*0.05 (小于等于500是5%)收入2101的话减1600已大于500,则 2101应交税是:(2101-1600)* 0.1只要楼主写清楚,一个初学者都能用 Select Case 来完成结果是看题还比回题难数倍.
2007年03月09日 13点03分
11
level 1
楼上理解上好像有偏差。。我写的超过就是指的是超过1600元的部分。。在前面我没写清楚,不好意思~
2007年03月11日 00点03分
12
level 0
If moneys <= 500 Thenxxx=money*.05elseIf moneys <= 2000 and moneys > 500 Thenxxx=(money-500)*.10 + 500*.05elseIf moneys <= 5000 and moneys > 2000 Thenxxx=(money-500-2000)*.15 + 500*.05 +2000*.10........(省略)
2007年03月11日 00点03分
13
level 3
我是写一个存贮过程来实现.当然,后台是sql server 2000
2008年02月22日 08点02分
16