نوشته شده توسط
backstreet-boy
سلام ، برنامه ای بنویسید که شماره کارمندی ، و حقوق یک کارمند را دریافت کنه و براساس تعریف زیر مالیات شو محاسبه کنه و به خروجی بیرد .
حقوق کمتر 460000 از مالیات معاف
حقوق بین 560000 و 460000 10 درصد نسبت به مازاد
یرای یه نفر مشکلی نیست ولی مشکلی دارم اینه که شماره کارمندی رو دریافت می کنه ، پس چند تا کارمند هست ، می خواستم بدونمدر کد نویسی چه جور ارتباطی بین شماره کارمندی و حقوق یک کارمند باید برقرار کنم ، اگر کسی می دونه یه توضیحی در این مورد بده
اگر این برنامه را ویبی دات باید بنویسید ، هدف یادگیری شی گرایی هست.
پس شما یک کلاس کارمند دارید.
که
1- کد کارمندی
2- نام کارمند
3- حقوق ماهانه
و یک متد برای محاسبه مالیات
برای نگهداری اطلاعات چند کارمند باید آنها در یک list ذخیره کنید.
PublicClass Employee
Private _ID AsInteger
Private _Name AsString
Private _salary AsInteger
PublicProperty ID() AsInteger
Get
Return _ID
EndGet
Set(ByVal value AsInteger)
_ID = value
EndSet
EndProperty
PublicProperty Name() AsString
Get
Return _Name
EndGet
Set(ByVal value AsString)
IfNotString.IsNullOrEmpty(value) Then
_Name = value
Else
ThrowNew OutOfMemoryException("Name is wrong")
EndIf
EndSet
EndProperty
PublicProperty Salary() AsInteger
Get
Return _salary
EndGet
Set(ByVal value AsInteger)
If value > 0 Then
_salary = value
Else
ThrowNew ArgumentOutOfRangeException("salary most be and greater than 0)");
EndIf
EndSet
EndProperty
PublicFunction Tax() AsInteger
If _salary <= 460000 ThenReturn 0
If _salary >= 460000 And _salary <= 560000 Then
Return ((_salary - 460000) * 0.1)
EndIf
EndFunction
EndClass
این کلاس کارمندان
حالا برای گرفتن اطلاعات کارمندان و چاپ مالیات
Sub Main()
Dim empList AsNew List(Of Employee)
Dim i AsInteger = 1
Console.WriteLine("Type End to End of data Entry")
DoWhile Console.ReadLine <> "end"
Dim emp AsNew Employee
Console.WriteLine("Enter Employee {0} Data", i)
Console.Write("ID(just numbers):")
emp.ID = Console.ReadLine()
Console.Write("Name:")
emp.Name = Console.ReadLine()
Console.Write("Salary:")
emp.Salary = Console.ReadLine()
empList.Add(emp)
Loop
ForEach emp As Employee In empList
Console.WriteLine("{0} must pay {1} as tax", emp.Name, emp.Tax)
Next
Console.Read()
EndSub