مقدمهای بر کد ماشین حساب در سی شارپ
در دنیای برنامهنویسی، ماشین حسابها ابزارهای اساسی و جالبی هستند. این ابزارها به ما اجازه میدهند تا عملیات ریاضی ساده یا پیچیدهای را انجام دهیم. در اینجا، به بررسی نحوه ایجاد یک ماشین حساب ساده با استفاده از زبان برنامهنویسی سی شارپ میپردازیم.
طراحی رابط کاربری
ابتدا باید یک رابط کاربری برای ماشین حساب طراحی کنیم. میتوانیم از Windows Forms یا WPF استفاده کنیم.
- Windows Forms: یکی از سادهترین روشها برای ایجاد رابط کاربری گرافیکی است.
- WPF: ابزاری قدرتمند برای طراحی رابطهای کاربری جذاب و پیچیده است.
برای شروع، یک فرم جدید ایجاد میکنیم و دکمهها و ویجتهای لازم را اضافه میکنیم.
کد ماشین حساب
حالا بیایید به نوشتن کد بپردازیم. در اینجا یک کد نمونه برای یک ماشین حساب ساده آورده شده است:
```csharp
using System;
using System.Windows.Forms;
namespace SimpleCalculator
{
public partial class CalculatorForm : Form
{
private double result = 0;
private string operation = string.Empty;
private bool isOperationPerformed = false;
public CalculatorForm()
{
InitializeComponent();
}
private void Number_Click(object sender, EventArgs e)
{
if ((textBox_Result.Text == "0") || isOperationPerformed)
textBox_Result.Clear();
isOperationPerformed = false;
Button button = (Button)sender;
textBox_Result.Text += button.Text;
}
private void Operation_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
if (result != 0)
{
button_Equal.PerformClick();
operation = button.Text;
labelCurrentOperation.Text = $"{result} {operation}";
isOperationPerformed = true;
}
else
{
operation = button.Text;
result = double.Parse(textBox_Result.Text);
labelCurrentOperation.Text = $"{result} {operation}";
isOperationPerformed = true;
}
}
private void Button_Equal_Click(object sender, EventArgs e)
{
switch (operation)
{
case "+":
textBox_Result.Text = (result + double.Parse(textBox_Result.Text)).ToString();
break;
case "-":
textBox_Result.Text = (result - double.Parse(textBox_Result.Text)).ToString();
break;
case "*":
textBox_Result.Text = (result * double.Parse(textBox_Result.Text)).ToString();
break;
case "/":
textBox_Result.Text = (result / double.Parse(textBox_Result.Text)).ToString();
break;
default:
break;
}
result = double.Parse(textBox_Result.Text);
labelCurrentOperation.Text = string.Empty;
}
private void Button_Clear_Click(object sender, EventArgs e)
{
textBox_Result.Text = "0";
result = 0;
labelCurrentOperation.Text = string.Empty;
}
}
}
```
توضیحات کد
در کد بالا، چندین متد داریم که به عملیات مختلف ماشین حساب مربوط میشوند:
- Number_Click: این متد برای کلیک روی دکمههای عددی استفاده میشود. در اینجا، اگر کاربر یک عدد جدید وارد کند، متن جعبه ورودی پاک میشود.
- Operation_Click: با کلیک بر روی دکمه عملگر (جمع، تفریق، ضرب، تقسیم) این متد اجرا میشود. در اینجا، نتیجه محاسبه و عملگر جاری ذخیره میشود.
- Button_Equal_Click: این متد برای محاسبه نهایی نتیجه بر اساس عملگر انتخاب شده و عدد ورودی استفاده میشود.
- Button_Clear_Click: با کلیک بر روی دکمه پاک کردن، همه مقادیر به حالت اولیه برمیگردند.
نتیجهگیری
ایجاد یک ماشین حساب ساده با سی شارپ نه تنها به ما اجازه میدهد تا با زبان برنامهنویسی آشنا شویم، بلکه مهارتهای طراحی رابط کاربری را نیز تقویت میکند. حالا شما میتوانید کد را اجرا کنید و از ماشین حساب خود لذت ببرید!
کد ماشین حساب در سیشارپ: راهنمای جامع و کامل
وقتی صحبت از ساختن یک ماشین حساب ساده در زبان برنامهنویسی سیشارپ میشود، ابتدا باید بدانید که چه امکاناتی نیاز دارید. آیا فقط عملیات جمع و تفریق کافی است، یا میخواهید عملیاتهای پیچیدهتری مثل ضرب، تقسیم، توان، ریشه و دیگر محاسبات را نیز پشتیبانی کنید؟
در این راهنمای جامع، ابتدا مفاهیم پایهای را مرور میکنیم، سپس نمونه کد کامل و قابل اجرا را بررسی مینماییم. هدف این است که شما بتوانید خودتان برنامهای حرفهای و کارآمد بسازید، حتی اگر تازهکار باشید.
ساختار کلی برنامه ماشین حساب در سیشارپ
برای شروع، باید یک پروژه ویندوز فرم (Windows Forms) بسازید. این نوع برنامهها رابط کاربری گرافیکی دارند، و به کاربران اجازه میدهند عملیاتهای مختلف را به راحتی انجام دهند. اما میتوان این برنامه را به صورت کنسول هم ساخت، ولی در اینجا تمرکز بر روی فرمهای ویندوز است.
در فرم، چند دکمه (Button) برای اعداد 0 تا 9، عملیات جمع، تفریق، ضرب، تقسیم و دکمه مساوی (=) قرار میدهیم. همچنین، یک TextBox برای نمایش ورودی و خروجی کاربر.
مراحل توسعه برنامه ماشین حساب:
- ایجاد پروژه ویندوز فرم در سیشارپ
- اضافه کردن کنترلها
- تعریف متغیرهای لازم
- نوشتن رویدادهای کلیک بر روی دکمهها
- اجرای عملیاتهای ریاضی و نمایش نتیجه
---
نمونه کد کامل ماشین حساب در سیشارپ
در ادامه، نمونهای کامل از برنامه ماشین حساب را مشاهده میکنید:
```csharp
using System;
using System.Windows.Forms;
namespace CalculatorApp
{
public partial class Calculator : Form
{
double resultValue = 0;
string operationPerformed = "";
bool isOperationPerformed = false;
public Calculator()
{
InitializeComponent();
}
private void button_Click(object sender, EventArgs e)
{
if ((textBox_Result.Text == "0") || (isOperationPerformed))
textBox_Result.Clear();
isOperationPerformed = false;
Button button = (Button)sender;
textBox_Result.Text += button.Text;
}
private void operator_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
operationPerformed = button.Text;
resultValue = Double.Parse(textBox_Result.Text);
labelCurrentOperation.Text = resultValue + " " + operationPerformed;
isOperationPerformed = true;
}
private void button_Equals_Click(object sender, EventArgs e)
{
switch (operationPerformed)
{
case "+":
textBox_Result.Text = (resultValue + Double.Parse(textBox_Result.Text)).ToString();
break;
case "-":
textBox_Result.Text = (resultValue - Double.Parse(textBox_Result.Text)).ToString();
break;
case "*":
textBox_Result.Text = (resultValue * Double.Parse(textBox_Result.Text)).ToString();
break;
case "/":
if (Double.Parse(textBox_Result.Text) != 0)
textBox_Result.Text = (resultValue / Double.Parse(textBox_Result.Text)).ToString();
else
MessageBox.Show("خطا: تقسیم بر صفر امکانپذیر نیست");
break;
}
labelCurrentOperation.Text = "";
}
private void button_Clear_Click(object sender, EventArgs e)
{
textBox_Result.Text = "0";
labelCurrentOperation.Text = "";
resultValue = 0;
isOperationPerformed = false;
}
}
}
```
---
نکات مهم و توضیحات
- متغیرهای کلیدی:
- `resultValue`: نگهداشتن نتیجه عملیات قبلی
- `operationPerformed`: نگهداشتن علامت عملیات جاری
- `isOperationPerformed`: کنترل بر روی شروع عملیات جدید
- رویدادهای کلیک:
- دکمههای اعداد، عملیات، مساوی و پاک کردن به صورت جداگانه تنظیم شدهاند
- کلید اعداد، ورودیها را به TextBox اضافه میکنند
- عملیاتهای ریاضی، مقدار جاری را گرفته و مشخص میکنند چه عملیاتی باید انجام شود
- مدیریت خطا:
- برای تقسیم بر صفر، خطای مناسب نشان داده میشود
---
نکات پیشرفته
- میتوانید عملیاتهای بیشتری مانند توان، ریشه، درصد و توابع ریاضی اضافه کنید.
- برای بهبود رابط کاربری، میتوانید استایل و طرحبندی را تغییر دهید.
- نگهداری عملیاتها در آرایهها یا لیستها، و افزودن تاریخچه محاسبات، امکانات پیشرفتهتری هستند.
---
نتیجهگیری
در این راهنمای جامع، نحوه ساختن یک ماشین حساب در سیشارپ را به صورت پایهای آموزش دادم. این برنامه قابلیت توسعه و بهبود دارد و میتوانید به عنوان پروژه تمرینی، امکانات بیشتری به آن بیفزایید. مهمترین نکته، تمرین و تمرین است تا مهارتهای برنامهنویسی خودتان را ارتقاء دهید و برنامههای کاربردی قویتری بسازید.
اگر سوالی دارید یا میخواهید نمونههای بیشتری ببینید، حتما بگویید!