السلام عليكم و رحمة الله و بركاته
الشريحة الاخيرة عليها خلاف (اكبر 75000) المفروض ان تكون اكبر من 60000 لان هناك 15000 معفاة
وكذلك هناك تسلسل منطقي للحساب مفقود في هذا النظام , المفروض لا يتم الانتقال من شريحة الى شريحة حتى يكتمل نصاب الشريحة (شرائح صغيرة بخصم كبير و شرائح كبيرة بخصم صغير ) لا يوجد الية واضحة للحساب (عباقرة المالية
)
-------------------------------------------------------------------------------
على اي حال صديقي هذا التعديل وفق المطلوب
اضف صناديق نصوص الى النموئج السابق (من t1 الى t8) بحيث تتوافق مع عدد الشرائح
انسخ الكود وضعه لديك
بالتوفيق اخي
سؤال:هل تعمل محاسب في دائرة حكومية
الشريحة الاخيرة عليها خلاف (اكبر 75000) المفروض ان تكون اكبر من 60000 لان هناك 15000 معفاة
وكذلك هناك تسلسل منطقي للحساب مفقود في هذا النظام , المفروض لا يتم الانتقال من شريحة الى شريحة حتى يكتمل نصاب الشريحة (شرائح صغيرة بخصم كبير و شرائح كبيرة بخصم صغير ) لا يوجد الية واضحة للحساب (عباقرة المالية
)-------------------------------------------------------------------------------
على اي حال صديقي هذا التعديل وفق المطلوب
اضف صناديق نصوص الى النموئج السابق (من t1 الى t8) بحيث تتوافق مع عدد الشرائح
انسخ الكود وضعه لديك
كود :
Dim Salary As Integer = Nothing
Dim NewSalary As Integer = Nothing
Private Sub btnExc_Click(sender As Object, e As EventArgs) Handles btnExc.Click
Salary = If(Int32.TryParse(txtSalary.Text.ToString, 0), txtSalary.Text.ToString, 0)
If Salary < 15000 Then
MsgBox("لايمكن ان يكون الراتب اقل من 15000")
ClearAll()
txtSalary.Focus()
Exit Sub
End If
NewSalary = Salary - 15000 'اول 15000 معفاة
Select Case NewSalary
Case <= 5000 'شريحة اولى على 5000 بخصم 5
t1.Text = NewSalary * 0.05
ZeroTxt({"t2", "t3", "t4", "t5", "t6", "t7", "t8"})
Case 5001 To 10000 'شريحة ثانية على 5000 بخصم 7
t1.Text = 250
NewSalary -= 5000
t2.Text = NewSalary * 0.07
ZeroTxt({"t3", "t4", "t5", "t6", "t7", "t8"})
Case 10001 To 15000 'شريحة ثالثة على 5000 بخصم 9
t1.Text = 250
t2.Text = 350
NewSalary -= 10000
t3.Text = NewSalary * 0.09
ZeroTxt({"t4", "t5", "t6", "t7", "t8"})
Case 15001 To 23000 'شريحة رابعة على 8000 بخصم 11
t1.Text = 250
t2.Text = 350
t3.Text = 550
NewSalary = NewSalary - 15000
t4.Text = NewSalary * 0.11
ZeroTxt({"t5", "t6", "t7", "t8"})
Case 23001 To 35000 'شريحة خامسة على 12000 بخصم 13
t1.Text = 250
t2.Text = 350
t3.Text = 550
t4.Text = 880
NewSalary = NewSalary - 27000
t5.Text = NewSalary * 0.13
ZeroTxt({"t6", "t7", "t8"})
Case 35001 To 50000 'شريحة سادسة على 15000 بخصم 16
t1.Text = 250
t2.Text = 350
t3.Text = 550
t4.Text = 880
t5.Text = 1560
NewSalary = NewSalary - 35000
t6.Text = NewSalary * 0.16
ZeroTxt({"t7", "t8"})
Case 50001 To 60000 'شريحة سابعة على 10000 بخصم 19
t1.Text = 250
t2.Text = 350
t3.Text = 550
t4.Text = 880
t5.Text = 1560
t6.Text = 2400
NewSalary = NewSalary - 50000
t7.Text = NewSalary * 0.19
ZeroTxt({"t8"})
Case > 60000 'شريحة اخيرة اكبر من 60000 بخصم 22
t1.Text = 250
t2.Text = 350
t3.Text = 550
t4.Text = 880
t5.Text = 1560
t6.Text = 2400
t7.Text = 1900
NewSalary = NewSalary - 60000
t8.Text = (NewSalary * 0.22)
End Select
txtTotalDiscount.Text = Val(t1.Text) + Val(t2.Text) + Val(t3.Text) + Val(t4.Text) + Val(t5.Text) + Val(t6.Text) + Val(t7.Text) + Val(t8.Text)
txtResult.Text = Salary - Val(txtTotalDiscount.Text)
End Sub
Private Sub btnNew_Click(sender As Object, e As EventArgs) Handles btnNew.Click
ClearAll()
End Sub
Private Sub ClearAll()
For Each ctrl As Control In GroupBox1.Controls
If TypeOf (ctrl) Is TextBox Then
ctrl.Text = String.Empty
End If
Next
txtSalary.Focus()
End Sub
Private Sub ZeroTxt(ControlsNames As String())
For Each ctrl As Control In GroupBox1.Controls
If TypeOf (ctrl) Is TextBox Then
If ControlsNames.Contains(ctrl.Name) Then
ctrl.Text = 0
End If
End If
Next
End Sub
Private Sub txtSalary_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtSalary.KeyPress
If Char.IsDigit(e.KeyChar) = False And Char.IsControl(e.KeyChar) = False Then
e.Handled = True
End If
End Subسؤال:هل تعمل محاسب في دائرة حكومية
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


