عملي : آلة حاسبة في فيجوال بيزيك

1- ابدأ بمشروع جديد.

3-صمم واجهة البرنامج بشكل مشابه لما يلي مع ملاحظة:

- وجود خانة نص Text1 تم ضبط خاصية Locked لها على القيمة True.

- وجود 30 زر أوامر Command لكل منها عنوان مناسب.

- تم ضبط خاصية BorderStyle التابعة للنافذة على FixedSingle.



كيفية عمل البرنامج:

1-              بعد تشغيل البرنامج.

2-              إدخال العدد الأول n1 باستخدام أزرار الحاسبة (وليس باستخدام لوحة المفاتيح).

3-      إختيار إحدى العمليات، فإن كانت هذه العملية أحادية مثل sin سيتم حساب الناتج مباشرةً ووضعه في خانة النص، أما إذا كانت العملية ثنائية مثل عملية الجمع فإننا نتقل إلى الخطوة 4.

4-              مسح محتويات خانة النص وإدخال العدد الثاني n1 في خانة النص، ثم الضغط على زر المساواة لرؤية النتيجة.

متحولات البرنامج العامة:

نحتاج في هذا البرنامج إلى ثلاث متحولات عامة هي:

n1 العدد الأول، n2 العدد الثاني، op متحول اختبار لمعرفة نوع العملية التي تم اختيارها، والثابت Pi.

كتابة الشفرة:

1-              في قسم التصريحات العامة General-Declarations قم بالتصريح عن المتحولات السابقة على الشكل:

Const pi = 22 / 7

Dim op As String

Dim n1 As Single

Dim n2 As Single

2-              سنذكر فيما يلي الشفرة الكاملة لجميع الأزرار:

الزر

الشفرة

صفر

Text1.Text = Text1.Text + "0"

1

Text1.Text = Text1.Text + "1"

2

Text1.Text = Text1.Text + "2"

3

Text1.Text = Text1.Text + "3"

4

Text1.Text = Text1.Text + "4"

5

Text1.Text = Text1.Text + "5"

6

Text1.Text = Text1.Text + "6"

7

Text1.Text = Text1.Text + "7"

8

Text1.Text = Text1.Text + "8"

9

Text1.Text = Text1.Text + "9"

الفاصلة

If InStr(1, Text1.Text, ".") = 0 Then

    Text1.Text = Text1.Text + "."

End If

CE

 Text1.Text = ""

+

n1 = Val(Text1.Text)

p = "+"

Text1.Text = ""

-

n1 = Val(Text1.Text)

op = "-"

Text1.Text = ""

*

n1 = Val(Text1.Text)

op = "*"

Text1.Text = ""

/

n1 = Val(Text1.Text)

op = "/"

Text1.Text = ""

^

n1 = Val(Text1.Text)

op = "^"

Text1.Text = ""

Sin

Text1.Text = Sin(Val(Text1.Text) * pi / 180)

Cos

Text1.Text = Cos(Val(Text1.Text) * pi / 180)

Tan

Text1.Text = Tan(Val(Text1.Text) * pi / 180)

Ctan

Text1.Text = 1 / Tan(Val(Text1.Text) * pi / 180)

Log

If Val(Text1.Text) >= 0 Then

      Text1.Text = Log(Val(Text1.Text))

Else

    MsgBox "العدد سالب"

End If

Ln

If Val(Text1.Text) >= 0 Then

     Text1.Text = Log(Val(Text1.Text)) / Log(10)

Else

    MsgBox "العدد سالب"

End If

Exp

Text1.Text = Exp(Val(Text1.Text))

+/-

If Left(Text1.Text, 1) <> "-" Then

    Text1.Text = "-" + Text1.Text

Else

    Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1)

End If

1/X

    Text1.Text = 1 / Val(Text1.Text)

X^2

Text1.Text = Val(Text1.Text) ^ 2

Sqr

   If Val(Text1.Text) >= 0 Then

    Text1.Text = Sqr(Val(Text1.Text))

   Else

    MsgBox "العدد سالب"

   End If

N!

If Val(Text1.Text) < 0 Then

   MsgBox "لايوجد عاملي للعدد السالب"

   Exit Sub

End If

If Val(Text1.Text) > 20 Then

  MsgBox "لايمكن حساب العاملة لأن العدد كبير"

Else

    s = 1

 

Share |

معلومات إضافية