问答题
窗口中的3个文本框和两个按钮名称分别为Txt-salary、Txt_base、Txt_tax、Cmd_compute和 Cmd_quit。运行时,文本框Txt_base中存放的是免税金额基数(应扣除的基本费用)。当用户在文本框Txt_salary中输入月收入(工资或薪金)并单击“计算”按钮Cmd_compute后,Txt_tax框中就显示计算所得的应纳税额。文本框Txt_base和Txt_tax在运行时不接受用户输入,Txt_base的内容以灰色显示。 个人工资(或薪金)所得税是按照超额累进的税率来征收的,方法是:以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额,再将应纳税所得额按相应级数采用相应的税率进行累进计算。目前的免税金额基数为800元,税率如表4.2所示。
设一个人的月应纳税所得额为K(元),用下面的公式计算其应缴纳的个人所得税额S(元); 若0<K≤500,则S=K×5%; 若500<K≤2000,则S=500×5%+(K-500)×10%; 若2000<K≤5000,则S=500×5%+1500×10%+(K-2000)×15%; 若5000<K≤20 000,则S=500×5%+1500×10%+3000×15%+(K-5900)×20%; 例如,某人某月工资总额为5200元,减去800元后,应纳税所得额为4400元,其应缴纳的个人所得税额为500*5%+1500*10%+2400*15%=535元。 在开发过程中,需要编写的程序代码如下: 【程序代码9】 Option Base 0 Private Sub Cmd_compute_Click() Dim paylevel,taxPrate paylevel = Array(0,500,2000,5000,20000,40000,60000,80000,100000,1000001) taxPrate = Array(5,10,15,20,25,30,35,40,45) K= Val(Txt_salary.Text)-Val(Txt_base.Text) S=0 If (1) Then For j=1 To 9 If (2) Then S = S+(paylevel(j)-paylevel(j-1))*taxPrate(j-1)/100 Else S=S+K-paylevel(j-1)* (3) Exit For End If Next j Ent If Txt_tax.Text=(4) End Sub Private Sub Cmd_quit_Click() End End Sub Private Sub Form_Load() Txt_tax.Text=" " Txt_salary.Text=" " Txt_base.Text=800 Txt_tax.Locked=True Txt_base.Enabled=(5) End Sub