مقدمه
ماشین حساب یکی از ابزارهای کاربردی است که در برنامهنویسی میتواند به راحتی پیادهسازی شود. در اینجا، به بررسی سورس کد ماشین حساب به زبان سی شارپ میپردازیم.
ساختار کلی برنامه
در ابتدا، برنامه به یک رابط کاربری نیاز دارد. این رابط شامل دکمهها و نمایشگر است. با استفاده از Windows Forms یا WPF میتوان این رابط را طراحی کرد.
تعریف متغیرها
در کد، متغیرهایی برای نگهداری اعداد و عملگرها تعریف میشوند. به عنوان مثال:
```csharp
double num1, num2, result;
string operation;
```
عملکرد دکمهها
هر دکمه، یک رویداد کلیک دارد که به آن متصل میشود. برای مثال، دکمه عدد 5:
```csharp
private void button5_Click(object sender, EventArgs e) {
display.Text += "5"; // اضافه کردن عدد به نمایشگر
}
```
انجام محاسبات
عملیات اصلی ماشین حساب باید به درستی پیادهسازی شود. برای این کار، تابعی تعریف میشود که بر اساس عملگر انتخاب شده، محاسبات را انجام دهد:
```csharp
private void Calculate() {
switch (operation) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 != 0) {
result = num1 / num2;
} else {
MessageBox.Show("Division by zero is not allowed.");
}
break;
}
display.Text = result.ToString();
}
```
نتیجهگیری
با ترکیب این عناصر، یک ماشین حساب ساده ایجاد میشود. این کد نشان میدهد که چگونه میتوان با استفاده از زبان سی شارپ، یک ابزار کاربردی و ساده ساخت. با توسعه و افزودن ویژگیهای بیشتر، میتوان این برنامه را بهبود بخشید و قابلیتهای بیشتری به آن اضافه کرد.
سورس ماشین حساب سیشارپ: راهنمای جامع و کامل
ماشین حساب یکی از پروژههای پایه و پرکاربرد در برنامهنویسی است که میتواند به عنوان یک تمرین خوب برای یادگیری زبان سیشارپ (C#) باشد. در این پروژه، هدف اصلی ساخت یک ماشین حساب ساده است، اما با امکاناتی که میتواند عملیات پایهای مانند جمع، تفریق، ضرب و تقسیم را انجام دهد. برای ساختن این پروژه، نیاز است که به مفاهیم کلیدی برنامهنویسی در سیشارپ، طراحی رابط کاربری و مدیریت رویدادها مسلط باشید.
ساختار کلی پروژه ماشین حساب در سیشارپ
پروژه ماشین حساب معمولاً شامل موارد زیر است:
- رابط کاربری (UI): این قسمت شامل دکمهها، نمایشگر و دیگر عناصر است که کاربر با آنها تعامل دارد.
- کدهای پشتصحنه (Back-end): این بخش شامل منطق عملیاتهای ریاضی، مدیریت رویدادها و کنترل عملیات است.
- مدیریت رویدادها: دکمهها باید به رویدادهای خاص پاسخ دهند، مثلا کلیک بر روی دکمه عدد یا عملیات ریاضی.
طراحی رابط کاربری
در محیط ویژوال استودیو، معمولاً از ابزارهای طراحی بصری برای ساخت رابط کاربری استفاده میشود. برای نمونه، میتوان یک فرم جدید ساخت و عناصر زیر را افزود:
- TextBox: برای نمایش ورودی و خروجی عملیات.
- Button: برای اعداد 0 تا 9، عملیات جمع، تفریق، ضرب، تقسیم، مساوی و پاک کردن.
در طراحی باید توجه کنید که چینش دکمهها منطقی باشد و کاربر به راحتی بتواند عملیات موردنظر خود را انجام دهد.
کدهای پشتصحنه و منطق ماشین حساب
در این قسمت، باید کدهای مربوط به عملیات ریاضی و رویدادهای دکمهها نوشته شوند. معمولاً از رویداد `Click` برای هر دکمه استفاده میشود.
برای مثال، وقتی کاربر روی دکمه عدد 1 کلیک میکند، مقدار آن به متن TextBox افزوده میشود. عملیاتهای ریاضی با ذخیره مقادیر ورودی و عملیات مورد نظر انجام میپذیرند.
نمونه کد ساده ماشین حساب در سیشارپ
```csharp
public partial class Calculator : Form
{
double resultValue = 0;
string operationPerformed = "";
bool isOperationPerformed = false;
public Calculator()
{
InitializeComponent();
}
private void buttonNumber_Click(object sender, EventArgs e)
{
if ((textBoxResult.Text == "0") || (isOperationPerformed))
textBoxResult.Clear();
isOperationPerformed = false;
Button button = (Button)sender;
textBoxResult.Text += button.Text;
}
private void buttonOperator_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
operationPerformed = button.Text;
resultValue = Double.Parse(textBoxResult.Text);
labelCurrentOperation.Text = resultValue + " " + operationPerformed;
isOperationPerformed = true;
}
private void buttonEquals_Click(object sender, EventArgs e)
{
switch (operationPerformed)
{
case "+":
textBoxResult.Text = (resultValue + Double.Parse(textBoxResult.Text)).ToString();
break;
case "-":
textBoxResult.Text = (resultValue - Double.Parse(textBoxResult.Text)).ToString();
break;
case "*":
textBoxResult.Text = (resultValue * Double.Parse(textBoxResult.Text)).ToString();
break;
case "/":
textBoxResult.Text = (resultValue / Double.Parse(textBoxResult.Text)).ToString();
break;
}
}
private void buttonClear_Click(object sender, EventArgs e)
{
textBoxResult.Clear();
labelCurrentOperation.Text = "";
resultValue = 0;
isOperationPerformed = false;
}
}
```
نکات مهم در توسعه سورس ماشین حساب
- مدیریت استثناها: در عملیات تقسیم، باید خطای تقسیم بر صفر را مدیریت کرد.
- بهبود رابط کاربری: افزودن قابلیتهای بیشتر مثل توان، ریشه، درصد و تاریخچه عملیات.
- کد تمیز و ساختاریافته: جدا کردن منطق عملیات ریاضی در کلاسهای جداگانه، برای نگهداری و توسعه آسانتر.
نتیجهگیری
پروژه ماشین حساب در سیشارپ، یک پروژه آموزشی عالی است که هم مفاهیم پایهای برنامهنویسی و رویدادهای ویندوز فرم را آموزش میدهد و هم مهارتهای طراحی رابط کاربری را تقویت میکند. با تمرین و افزودن ویژگیهای جدید، میتوانید درک عمیقتری از برنامهنویسی ویندوز فرمهای سیشارپ پیدا کنید و پروژههای پیچیدهتری را پیادهسازی نمایید.
اگر سوال خاصی دارید یا نیاز به سورس کامل دارید، حتما بگویید!