مقدمه
در دنیای برنامهنویسی، ماشینحسابها یکی از پروژههای ابتدایی و جذاب برای یادگیری زبانهای برنامهنویسی هستند. با استفاده از VB.NET، میتوانیم یک ماشینحساب ساده و کاربردی ایجاد کنیم که عملیاتهای پایهای را انجام دهد.
طراحی رابط کاربری
در ابتدا، طراحی رابط کاربری بسیار مهم است. برای ماشینحساب، ما به یک فرم نیاز داریم که شامل:
- کادر ورودی: برای نمایش اعداد و نتایج.
- دکمهها: برای اعداد (0-9) و عملیات (جمع، تفریق، ضرب، تقسیم).
- دکمهی '=': برای محاسبه نتیجه.
- دکمهی 'C': برای پاک کردن ورودی.
نوشتن کد
حالا بیایید به نوشتن کد بپردازیم. اولین قدم، ایجاد متغیرهاست:
```vb.net
Dim firstNumber As Double
Dim secondNumber As Double
Dim operation As String
```
سپس، میتوانیم کد را برای دکمهها بنویسیم. به عنوان مثال، برای دکمه جمع:
```vb.net
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
firstNumber = Convert.ToDouble(txtDisplay.Text)
operation = "+"
txtDisplay.Clear()
End Sub
```
محاسبه نتیجه
پس از انتخاب عملیات، باید نتیجه را محاسبه کنیم. این بخش کد به دکمه برابر مربوط میشود:
```vb.net
Private Sub btnEqual_Click(sender As Object, e As EventArgs) Handles btnEqual.Click
secondNumber = Convert.ToDouble(txtDisplay.Text)
Select Case operation
Case "+"
txtDisplay.Text = (firstNumber + secondNumber).ToString()
Case "-"
txtDisplay.Text = (firstNumber - secondNumber).ToString()
Case "*"
txtDisplay.Text = (firstNumber * secondNumber).ToString()
Case "/"
If secondNumber <> 0 Then
txtDisplay.Text = (firstNumber / secondNumber).ToString()
Else
MessageBox.Show("Cannot divide by zero")
End If
End Select
End Sub
```
نتیجهگیری
این کد یک ماشینحساب پایهای ایجاد میکند که میتواند عملیاتهای جمع، تفریق، ضرب و تقسیم را انجام دهد. با افزودن ویژگیهای بیشتر مانند تاریخچه محاسبات یا عملیاتهای پیشرفتهتر، میتوانیم ماشینحساب را بهبود بخشیم. این پروژه، به شما کمک میکند تا با مفاهیم اساسی VB.NET آشنا شوید و تجربه عملی کسب کنید.
سورس کد ماشینحساب در VB.NET: راهنمای جامع و کامل
در ابتدا، باید بگوییم که ساخت یک ماشینحساب در VB.NET، یکی از پروژههای پایه و در عین حال مهم است که به برنامهنویسان کمک میکند تا مفاهیم پایهای برنامهنویسی ویندوز فرمها، رویدادها، و عملیات ریاضی را درک کنند. این پروژه، شامل طراحی رابط کاربری، مدیریت رویدادها، و انجام عملیاتهای ریاضی مختلف است.
طراحی رابط کاربری
در مرحله اول، باید فرم اصلی برنامه ساخته شود. معمولاً، این فرم شامل دکمههایی برای شمارهها (0 تا 9) و عملیاتهای ریاضی (+، -، ×، ÷) است. همچنین، یک TextBox یا Label برای نمایش عبارت و نتیجه نهایی قرار میگیرد. طراحی رابط باید به گونهای باشد که کاربر بتواند به سادگی عملیات مورد نظرش را وارد کند.
کد پایه و ساختار
در کد VB.NET، معمولا، متغیرهایی برای ذخیره عملیات جاری، مقدار اولیه، و عملیات بعدی استفاده میشود. برای مثال:
```vb
Dim currentValue As Double = 0
Dim operation As String = ""
Dim isOperationPerformed As Boolean = False
```
وقتی کاربر روی یکی از دکمههای عددی کلیک میکند، این اعداد به TextBox افزوده میشوند، یا در صورت شروع عملیات جدید، جایگزین مقدار قبلی میشوند.
مدیریت رویدادها
هر دکمه عددی، یک رویداد کلیک دارد. در آن، معمولاً، کد زیر اجرا میشود:
- اگر عملیات قبلی انجام شده باشد، و کاربر شماره جدید وارد کند، متن داخل TextBox پاک میشود.
- عدد وارد شده به متن نمایش داده میشود.
در رویدادهای عملیات، مثلا برای "+"، مقدار فعلی در متغیر `currentValue` ذخیره میشود، و عملیات مورد نظر ثبت میگردد.
اجرای عملیات ریاضی
وقتی کاربر عملیات را انتخاب میکند، و سپس دکمه "=" زده میشود، برنامه باید:
- مقدار فعلی TextBox را به عنوان عدد جاری بگیرد.
- عملیات مورد نظر را بر روی `currentValue` و عدد جدید اجرا کند.
- نتیجه نهایی در TextBox نمایش داده میشود.
برای مثال:
```vb
Select Case operation
Case "+"
currentValue += Double.Parse(TextBox
- Text)
currentValue -= Double.Parse(TextBox
- Text)
currentValue *= Double.Parse(TextBox
- Text)
If Double.Parse(TextBox
- Text) <> 0 Then
- Text)
MessageBox.Show("Division by zero is not allowed.")
End If
End Select
TextBox
- Text = currentValue.ToString()
بررسی خطا و استثناها
در هر عملیات، باید خطای تقسیم بر صفر، یا وارد کردن دادههای نامعتبر، کنترل شود. این کار با استفاده از ساختار Try-Catch انجام میشود تا برنامه پایدار باقی بماند و کاربر پیام مناسب دریافت کند.
کد کامل نمونه
در اینجا، نمونهای ساده و کارآمد از سورس کد ماشینحساب VB.NET ارائه میدهیم:
```vb
Public Class CalculatorForm
Dim currentValue As Double = 0
Dim operation As String = ""
Dim isOperationPerformed As Boolean = False
Private Sub Number_Click(sender As Object, e As EventArgs) Handles btn
- Click, btn1.Click, btn2.Click, btn3.Click, btn4.Click, btn5.Click, btn6.Click, btn7.Click, btn8.Click, btn9.Click
TextBox
- Clear()
End If
Dim btn As Button = CType(sender, Button)
TextBox
- Text &= btn.Text
Private Sub Operation_Click(sender As Object, e As EventArgs) Handles btnPlus.Click, btnMinus.Click, btnMultiply.Click, btnDivide.Click
Dim btn As Button = CType(sender, Button)
operation = btn.Text
currentValue = Double.Parse(TextBox
- Text)
End Sub
Private Sub btnEquals_Click(sender As Object, e As EventArgs) Handles btnEquals.Click
Try
Dim newValue As Double = Double.Parse(TextBox
- Text)
Case "+"
currentValue += newValue
Case "-"
currentValue -= newValue
Case "×"
currentValue *= newValue
Case "÷"
If newValue <> 0 Then
currentValue /= newValue
Else
MessageBox.Show("Division by zero is not allowed.")
Return
End If
End Select
TextBox
- Text = currentValue.ToString()
MessageBox.Show("Invalid input.")
End Try
End Sub
Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
TextBox
- Clear()
operation = ""
isOperationPerformed = False
End Sub
End Class
```
نتیجهگیری
ساخت ماشینحساب در VB.NET، علاوه بر آسان بودن، درک عمیقتری از برنامهنویسی رویداد محور و عملیات پایهای ریاضی به شما میدهد. با افزودن امکانات پیشرفتهتر، مثل عملیاتهای پیچیدهتر، حافظه، یا تاریخچه، میتوانید این پروژه را توسعه دهید و مهارتهای خود را در برنامهنویسی ویندوز فرمها افزایش دهید.
اگر نیاز به جزئیات بیشتر دارید، یا سوال خاصی دارید، حتما بگویید!
