الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرغب بعمل مشروع عن الزكاة وصادفتنى مشكلة

مغلق
بدأه ab_od@1 في 9 ديسمبر 2004 · 7 رد · 1,107 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أخواني السلام عليكم ورحمة الله وبركاته ..........

أني أرغب بعمل مشروع تخرج وهو برنامج حساب الزكاة ....

أولاً زكاة الإبل :- وهي كالأتي ,,,(( إذا ملك المسلم خمس ذود من الإبل , وحال عليها الحول ,وهي في ملكه وجب علية فيها شاة من الضأن. وإذا ملك عشراً وجب عليه فيها شاتان . وإذاملك خمس عشرة وجب عليه فيها ثلاث شياة. وإذا ملك عشرين وجب علية فيها أربع شياه. وإذا ملك خمساً وعشرين وجب عليه فيها بنت مخاض, فإن لم يجدها أجزأه ابن لبون , حتي تبلغ ستاً وثلاثين, فيجب فيها بنت لبون حتي تبلغ ستاً وأربعون ففيها حقة , حتى تبلغ ستين , فإذا بلغت إحدى وستون إلى خمسوسبعون ففيها جذعة , حتى تبلغ تسعين, ففيها بنتا لبون حتى تبلغ مائة وعشرين ففيها حقتان فإذا زادت على ذلك ففي كل أربعين بنت لبون . وفي كل خمسين حقة .))

وهذا الجدول مصغر يوضح كيفية زكاة الإبل

العدد . . . . الواجب

5 ألى 9 ... شاة

10--14 . . . شاتان

15--19 . . . ثلاث شياه

20--24 . . . أربع شياة

25--35 . . . بنت مخاض

36--45 . . . بنت لبون

46--60 . . . حقة

61--75 . . . جذعة

76--90 . . . بنتا لبون

91--120 . . . حقتان

فألان المسئلة يأخواني في القول

((فإذا زادت عن مائة وعشرون فالواجب في كل أربعين بنت لبون , وفي

خمسين حقة . وهكنا مهما بلغت .))

أي يتم تقسيم العدد علي 40 او 50 او كلن معً كالتالي

121 --- 129 = 3 بنات لبون

130 --- 139 = حقة وبنتا لبون

140 --- 149 = حقتان وبنت لبون

.

.

.

200 --- 209 = تساوت الفريضتان يختار بين أربع حقات أو خمس بنات لبون

اي 201 تقسيم 40 = 5 والباقي واحد فيقرب

202 تقسيم 50 =4 والباقي 2 فيقرب

هنا 201 =202

.

.

.

250 --- 259 = خمس حقات اي 259 تقسيم 50 =5 والباقي 9 فيقرب

الأن بعد الشرح الطويل ياتي السوال وهو ؟

أريد كود لحساب مابعد المائة وعشرين كما الطريقة السابقة ولكن لا أريد جملة IF OR Select ألى مابعد 120 أي اريد استخدام أجراء فرعي لحساب مابعد 120كالتالي :---

 
select case num
case is 0 to 4
"لم تجب عليك الزكاة"=txtbox
case is 5 to 9
txtbox="شاة"
   .
   . 
   .
case is 91 to 120
txtbox="حقتان"
case else
function name or sub name

end select

اعذروني من الاطالة ولكن لي اكثر من اسبوع مالقية حل وانشئ الله القاه عندكم

وانشئ الله ان تكون الشرح واضح

تحياتي لكم وشكراً على الاطلاع .

#2

إذاً المعضلة في

اقتباس
فإذا زادت عن مائة وعشرون فالواجب في كل أربعين بنت لبون , وفي

خمسين حقة . وهكنا مهما بلغت

1) قم بتقسيم العدد على 10

2) خذ الرقم الصحيح من عملية التقسيم أعلاه (فالنسميه Y).

3) بإستخدام الأوبراتر Mod حاول أن تكتشف إن كان Y يقسم على الرقم أربعة دون باق أم لا، فإن كان يقسم على أربعة فهنا يجب أن تكون "بنات لبون"... أما إن لم يكن ال Mod دون باق فيجب أن تأخذ من الرقم الكلي مضاعفات الرقم خمسه * 10 (مثلاً 150، 200، 300...الخ) والباقي من ذلك تقسمه على 40 فإن كان عدداً صحيحاً تقوم بأخذ "بنت لبون"...

أعتقد بأن الفكرة قد وصلت لك دون شرح أكثر، وللأسف لا يوجد الفيجوال ستديو عندي الآن لأكتب لك المسألة.

وأمر آخر، أنت لا تحتاج الى أربع خانات Select عندما يكون عدد الابل أقل من 24 ذود، فقط إستخدم الأوبراتير Mod وتستطيع أن تضعها في خانة واحدة.

(على فكره، ما هي الحقة؟ أما بنت اللبون فأعتقد بأنها الناقة التي يمكن حلبها).... للأسف ضاع إرتباطنا بتراثنا اللغوي.

Learn Japanese :>>> http://www.nouben.com/

#3

نسيت أن أتطرق الى مسألة، وهي ما تفضلت به حول الأرقام 200-209 أو 400 -409...الخ، يمكنك بإستخدام نفس المنطق أعلاه (أي إستخدام ال Mod) فإن كان الرقم يقسم على أربعة و خمسة دون باق فيجب هنا أن تخير المستخدم بين اللبونات والحقات.

Learn Japanese :>>> http://www.nouben.com/

#4

ما شاء الله..

اقتباس
هارون في كل مكان..

تشوفه تقول فنان..

في كل موضوع ردان..

مقره في اليابان..

اهو أي شعر و السلام.. :D :D

من شعر فرقة المعتزلة البرجوازية ..

مبروك يا هارون على المشاركات ال200 و عقبال ال2000 (انا عبرت حاجز ال100 كذلك )

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#5

ها ها..............

يا أخا العرب، أذاك هجاء ام مديح ؟؟؟؟؟؟ ثكلك المنتدى :-)

Learn Japanese :>>> http://www.nouben.com/

#6

شكراً اخي العزيز HMS على اجابتك

ساحاول التعامل معها كما اخبرتني

اماء

اقتباس
على فكره، ما هي الحقة؟ أما بنت اللبون فأعتقد بأنها الناقة التي يمكن حلبها).... للأسف ضاع إرتباطنا بتراثنا اللغوي.

الحقة

جمعها حقاق وهي مااستحقت أن يطرقها الفحل وهي ماتم له ثلاث سنين ودخل في الرابعة

* اللبون من الإبل ما وضعت حملها الثاني وهي ماتم له سنتان ودخل في الثالثة.

شكراً مجدداً وساخبرك بالنتائج

تحياتي لك

#7

اخي العزيز HMS يلية تشرحلي الجملة هذى مافهمتها

مع مثال

اقتباس
3) بإستخدام الأوبراتر Mod حاول أن تكتشف إن كان Y يقسم على الرقم أربعة دون باق أم لا، فإن كان يقسم على أربعة فهنا يجب أن تكون "بنات لبون"... أما إن لم يكن ال Mod دون باق فيجب أن تأخذ من الرقم الكلي مضاعفات الرقم خمسه * 10 (مثلاً 150، 200، 300...الخ) والباقي من ذلك تقسمه على 40 فإن كان عدداً صحيحاً تقوم بأخذ "بنت لبون"...

وانا اسف على ازعاجك

واذا في كود يفضل للتوضيح

شكراً ولك تحياتي

#8

حسناً، كما تفضلت حضرتك وشرحت المشكلة فإنك تريد أن تأخذ (إبنة لبون) عندما يكون العدد الكلي (بعد تقريب خانة الآحاد) هو 120 أو 160 أو 200 أو 240 ...الخ، أي أنه قابل للقسمة دون باق على الرقم 40 اليس كذلك؟؟؟ فمثلاً الرقم 125 يجب أن تكون زكاته بنات لبون لأنه بعد التقريب يكون 120 وهو رقم يقبل القسمة على 40 دون باق.

لنفترض بأن المستخدم لبرنامجك يريد أن يكتب الرقم في TextBox1، فهنا نستخدم الكود التالي لمعرفة بأن الشرط أعلاه منطبق على الرقم الذي أدخله المستخدم:

      Dim Laboon As Integer
        Dim Hakka As Integer
        Dim myNumber As Integer = (Val(TextBox1.Text) \ 10)

        If myNumber Mod 4 = 0 Then
            If myNumber Mod 5 = 0 Then
         MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
            Else
                Laboon = myNumber * 10 / 40
            End If
        Else
            Hakka = (myNumber * 10) \ 50
            If Val(TextBox1.Text) - Hakka * 50 >= 40 Then
                Laboon = CInt((Val(TextBox1.Text)) - (Hakka * 50)) \ 40
            End If

        End If

لم أكمل الكود أعلاهوضعت الحروف MMMMMMMM) ويجب إستبداله بالنتيجة التي تظهر للمستخدم عندما يكون عدد الأبل 200 مثلاً (أو أي رقم يقبل القسمة على 40 و 50).

فلو مثلاً كان الرقم 127 فإن الكود أعلاه أولاً يأخذ الرقم الصحيح الحاصل من قسمة عدد الإبل على 10 مستخدمين الأوبرتر (\) وقد أسميته myNumber

بعد ذلك وفي جملة الشرط نتأكد بأن myNumber يقسم على الرقم 4 دون باق مستخدمين الأوبرتر Mod فإن كان يقسم على 4 فإننا نضع جملة شرط أخرى لنرى إن كان الرقم يقسم على 5 أيضاً فإن كان يقبل القسمة أيضاً فإنك تضع النتيجة مكان MMMMMM...

(مثال على ذلك الرقم 204).

حاول أن تشغل الكود وحاول أن تضع أرقام أكبر من 120 وجربه، فإن كانت النتيجة كما ترغب فهي الحل، أما إن كانت النتيجة خاطئة فأرجو أن تبين لي سبب الخطأ لأعدل لك الكود، وتستطيع أن تضع برنامجك هنا على شكل فايل مرفق وسأقوم بعمله كاملاً لك بإذن الله.

أرجو أن أكون فهمت المسألة تماماً ولم أخطيء في فهم قولك:

اقتباس
فإذا زادت عن مائة وعشرون فالواجب في كل أربعين بنت لبون , وفي خمسين حقة . وهكنا مهما بلغت

Learn Japanese :>>> http://www.nouben.com/

هذا الموضوع مغلق.

مواضيع مشابهة