ساخت ماشین حساب ساده :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
تو این پست ساخت یه برنامه کاربردی ساده رو یاد میگیریم
سعی میکنم تو پست آینده ماشین حسابمون رو حرفه ای ترش کنیم
یه پروژه سی شارپ رو شروع کنید
اگه هنوز تو استارت کار مشکل دارین پست های قبلی سی شارپ رو یه نگاه بندازین قبلا تصویری شو نوشتم :)
به پروژه تون 19 تا دکمه اضافه کنید Button
یه تکست باکس Text Box
و یه لیست باکس List Box
فرمتون رو شبیه شکل زیر درست کنید

اسم دکمه ها و اندازه هاشون رو دستکاری کنین تا شبیه ماشین حساب شه
طرح و زیبایی قالب کار با خودتون ...
خوب قیافه شو درست کردیم حالا بریم سراغ کد نویسیش :)
تکست باکس و لیست باکسمون که دریافت کننده هستن
پس باید برای دکمه ها تک تک کد وارد کنیم
ابتدا باید چند تا متغییر تعریف کنیم
میدونیم که برای انجام عملیات چهارگانه ریاضی ( - + * / ) ما نیاز به سه تا متغیر داریم
متغیر اول عدد اول رو میگیره متغیر دوم عدد بعدی رو میگیره متغییر سوم جواب رو در خودش جا میده
ترجیحا این متغییر ها رو بصورت رشته ای تعریف میکنم
برای اینکار روی صفحه ی فورم دوبل کلیک میکنیم و بعد از کد زیر
public Form1()
{
InitializeComponent();
}
متغییر هارو به کمک کد زیر تعریف میکنیم
private String a, b, c;
دوتا متغییر از نوع double هم لازم داریم تا به کمکش بتونیم چند تا عدد رو باهم جمع کم ضرب یا تقسیم کنیم
private double abc = 1 , cba = 0;
متغییر abc با مقدار یک برای ضرب و تقسیم و متغییر cba با مقدار صفر برای جمع و کم
یه متغییر دیگه از نوع عدد صحیح با مقدار یک هم اضافه میکنیم
int i = 1;
توضیحات این متغییر رو هنگام استفاده بیان میکنم
بهتره یه متغییر منطقی هم به عنوان کلید به برنامه مون اضافه کنیم تا جلوی ایراد های احتمالی رو بگیریم
private bool key = false;
متغییر های bool متغییر های منطقی هستن که فقط دو حالت دارن (یک یا صفر ، درست یا نادرست )
اینجا متغییر key رو اختیاری نادرست تعریف کردم میتونستیم true یا درست هم تعریفش کنیم
در ادامه کار بیشتر متوجه ماجرا میشین ;)
حالا بریم سراغ دکمه هامون ...
ساده ترین کد برای دکمه CL هستش ... روش دوبار کلیک کنید و کد زیر رو براش تعریف کنید
textBox1.Clear();
این دستور تکست باکسمون رو خالی میکنه
دکمه بعدی دکمه بک اسپیسی که درست کردیم هستش
روش دوبل کلیک کنید تا بریم سراغ کدهای این دکمه
( دیگه هر دکمه ای که بحثش شد خودتون بدونید که باید روش دوبل کلیک کنید تا برین قسمت کد نویسی اون دکمه دیگه D: )
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
اگه یکم انگلیسی تون خوب باشه زود متوجه میشین که این کد دستور میده از طول نوشته های تکست باکسمون یکی کم کنه که این خودش باعث میشه کارکتر به کارکتر عمل پاک کردن انجام بشه
کد ساده ی بعدی مال نقطه هه هسسش (همون که کار ممیز رو انجام میده) :)
if (textBox1.Text == "")
textBox1.Text = "0.";
else
textBox1.Text += button57.Text;
شرط کردیم که اگه تکست باکسمون خالی بود توی تکست باکس عبارت .0 رو نمایش بده اگه خالی نبود هم به نوشته های تکست باکس نوشته دکمه که . هستش رو اضافه کنه
کد نویسیم هم یکم حالت خسته داره آکولاد ماکولاد خبری نی شما خوشتون اومد خودتون بزارین :)
حالا بریم سراغ عدد ها :
کد عددها شبیه همه فقط فرق خیلی کوچیکی داره اونم اینه که عدد دکمه رو تو کدها عوض میکنیم
من برای جالب تر شدن کارم عدد یک رو برای دکمه یک عدد دو رو برای دکمه دو و .... در نظر گرفتم
برای مثال کد عدد یک به شکل زیر میشه :
if (key)
{
textBox1.Clear();
key = false;
}
textBox1.Text += button1.Text;
شرط کردیم اگه منطقی که تعریف کردیم پا برجا بود (یعنی اگه نادرست بود)
تکست باکس رو خالی کن و منطقمون رو هم همچنان نادرست قرار بده (هیچ کاری انجام نده)
ولی اگه تعریفمون صحت نداشت (یعنی عملی که داریم انجام میدیم درست بود)
به نوشته های موجود در تکست باکسمون نوشته دکمه رو اضافه کن
ما میتونستیم به شکل زیر هم بنویسیم
if (key)
{
textBox1.Clear();
key = false;
}
textBox1.Text += "1";
و یا میتونستیم جای شرط هارو هم عوض کنیم
در کل سلیقه است دیگه هر مدلی میشه نوشت
این کد رو برای همه دکمه های عدد (صفر تا نه) تعریف کنید (کد بالایی یا پایینی)
فقط دقت کنید عدد هارو تغییر بدین
در نهایت کدهای تمام ده عدد رو به کمک این تکه کدها تکمیل میکنیم
حالا کد دکمه مثبت منفی رو باید بنویسیم
خوب این دکمه کارش اینه که عدد وارد شده رو منفی یا مثبت کنه
کد زیر رو براش تعریف کنید :
if (textBox1.Text == "")
{
MessageBox.Show("هیچ عددی وارد نشده است");
listBox1.Items.Add("Error");
listBox1.Items.Add("================================");
}
else
{
textBox1.Text = (double.Parse(textBox1.Text) * -1).ToString();
}
شرط کردیم اگه تکست باکس خالی بود پیام اخطار نمایش بده و تو لیست باکسمون هم اخطار رو ثبت کنه
ولی اگه تکست باکس خالی نبود عدد موجود در تکست باکس رو ضرب در منفی یک کنه
حالا کد دکمه های چهار تا عمل ریاضی رو باید وارد کنیم
اول کد دکمه تقسیم :
if (textBox1.Text == "")
{
MessageBox.Show("هیچ عددی وارد نشده است");
listBox1.Items.Add("Error");
listBox1.Items.Add("================================");
}
else
{
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("÷");
if (i == 1)
{
abc = double.Parse(textBox1.Text);
i++;
}
else
{
abc /= double.Parse(textBox1.Text);
}
textBox1.Clear();
a = (abc).ToString();
c = "/";
}
قسمت اول شرطمون همون شرط خالی بودن تکست باکس هست که بالاتر راجبش گفتم
قسمت دوم (در غیر این صورت = else )
به لیست باکسمون ابتدا محتویات تکست باکس رو اضافه میکنه
بعد علامت تقسیم رو اضافه میکنه
اگه اولین عدد ورودی بود
مقدار موجود در تکست باکس رو برای مقدار abc قرار میده
اگه اولین ورودی نبود
مقدار جدید رو تقسیم بر مقدار قبلی میکنه
تکست باکس رو تمیز میکنه (خالیش میکنه)
به متغییر a که قبلا تعریف کرده بودیم مقدار abc رو نسبت میده
و به متغییر c هم علامت تقسیم رو نسبت میده (عملی که قراره بعدا انجام بشه)
کد دکمه ی ضرب به شکل زیر هست
if (textBox1.Text == "")
{
MessageBox.Show("هیچ عددی وارد نشده است");
listBox1.Items.Add("Error");
listBox1.Items.Add("================================");
}
else
{
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("×");
abc *= double.Parse(textBox1.Text);
textBox1.Clear();
a = (abc).ToString();
c = "*";
}
میبینید که فقط علامت ها عوض شدن ( علامت تقسیم / تبدیل به ضرب شده * )
کد دکمه تفریق :
int i = 1;
if (textBox1.Text == "")
{
MessageBox.Show("هیچ عددی وارد نشده است");
listBox1.Items.Add("Error");
listBox1.Items.Add("================================");
}
else
{
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("-");
cba -= double.Parse(textBox1.Text);
if (i == 1)
{
cba *= -1;
i++;
}
textBox1.Clear();
a = (cba).ToString();
c = "-";
}
ابتدا متغییر i از نوع عدد صحیح رو تعریف کردیم و بهش مقدار یک دادیم
این کار برای انجام دادن یک عمل برای یک بار در چرخه هستش
خوب شرط اول که ثابت هست (اگر تکست باکس خالی بود...)
شرط دوم ابتدا مقدار تکست باکس و علامت - رو به لیست باکس اضافه میکنه
سپس مقدار موجود در تکست باکس رو از مقدار متغییر cba تفریق میکنه
همونطور که میدونید مقدار اولیه ی این متغییر صفر بود
پس وقتی ما اولین عدد وارد شده مون رو از صفر کم کنیم اولین ورودی ما منفی خواهد شد
برای رفع این ایراد ما دوباره شرط میکنیم که اگر مقدار i یک بود (که هست)
مقدار متغییر cba رو ضرب در 1- کن
(که در این صورت اولین عددی که وارد کردیم دیگه علامتش عوض نمیشه)

بعد به i یکی اضافه میکنیم تا دیگه این شرط تکرار نشه
و ....
کد دکمه جمع :
if (textBox1.Text == "")
{
MessageBox.Show("هیچ عددی وارد نشده است");
listBox1.Items.Add("Error");
listBox1.Items.Add("================================");
}
else
{
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("+");
cba += double.Parse(textBox1.Text);
textBox1.Clear();
a = (cba).ToString();
c = "+";
}
کد دکمه جمع هم مثل کدهای دکمه ی تفریقه با این فرق که اینجا دیگه نیازی به شرط یکبار مصرف i نداریم!!!
حالا میرسیم به دکمه قولشون :)
کدهای دکمه مساوی :
b = textBox1.Text;
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("=");
switch (c)
{
case "+":
textBox1.Text = (double.Parse(a) + double.Parse(b)).ToString();
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("================================");
abc = 0;
key = true;
break;
case "-":
textBox1.Text = (double.Parse(a) - double.Parse(b)).ToString();
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("================================");
abc = 0;
i = 1;
key = true;
break;
case "*":
textBox1.Text = (double.Parse(a) * double.Parse(b)).ToString();
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("================================");
abc = 1;
key = true;
break;
case "/":
textBox1.Text = (double.Parse(a) / double.Parse(b)).ToString();
listBox1.Items.Add(textBox1.Text);
listBox1.Items.Add("================================");
key = true;
abc = 1;
i = 1;
break;
}
آخرین ورودی رو به متغییر b نسبت میده
و ...
توضیحات این قسمت رو بعدا مینویسم
دیگه خسته شدم :/

قصد این نیست که ماشین حساب بسازین و ازش استفاده کنید و ...
امروزه ماشین حساب ها پیش پا افتاده ترین برنامه ها هستن و ما میتونیم خیلی راحت بهترین و پیشرفته ترین برنامه شو به دست بیاریم
قصد من از توضیح دادن و نوشتن این پست ، فقط آشنا شدن شما با کدها هست و دوست دارم یجوری از یه گوشه ی این بازی جالب شروع کنید به نوشتن و ساختن
اگه کد نویس قدیمی باشین متوجه میشین که من اینجا از کدهای ماشین حساب معمولی استفاده نکردم
کدهایی که در این آموزش استفاده کردم قسمتی از کدهایی بود که تو پروژه های بزرگ حسابداری ازشون استفاده میشه

امیدوارم مفید واقع شده باشه :)

نظر (۹)

سلام خسته نباشی ویروس جان
داداش ی سوال درباره اندروید داشتم تو کامنت های قبلی گفتی زیاد تو اندروید وارد نیستم
خواستم بگم دوستی داری که تو کار اندروید باشه
اگه هست ممنون میشم یا ایمیلشو بدی یا ایمیل منو بهش
واقعا ضروریه ویروس جان
ممنونم ازت
Virus 32 :
سلام عزیز ممنون
فعلا با کسی در ارتباط نیستم :(
سلام
در صورت امکان قصد ورود به صفحه ی اینستاگرام یکی از اقوامم را داشتم در صورت امکان کمک کنید تا رمز ورودش را به دست بیارم.اگر هزینه هم خواستید با کمال میل پرداخت میکنم.
با تشکر
داداش ویروس کجاااااااااااااااااااایی؟؟
دلمون واست تنتگ شده خدایی
هر روز کارم این شده به وبت سر بزنم ببینم هستی یا نیستی
مثل همیشه منتظر اومدنت هستیم
سلام ویروس

چه خبر :) ایام به کام باشه انشاءالله
نیستی :(

ببینم کنار کشیدی؟؟
Virus 32 :
سلام
ممنون
نه
سلام...
:) امیدوارم خوب باشی
راجب پستت مرسی خوب بود...دستت درد نکنه...
راجب خودت...نیستی پسر...کجایی؟ حالت خوبه؟
رو ب ر اهی؟ :)
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
علی جان من اکانت اینستاگرام هک میکنم خواستی بیا تلگرام
0930*****59
داداش نیستی ، ولی خب ، عیدت هم مبارک 💞💞💞💞
فقط میتونم بهت بگم حیف اسم رفیق که روی تو گذاشته بشه
Virus 32 :
O_o

بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
یه چیزی هست به نا* *** ** *|

چته این طور نگا میکنی ؟

ازت توقع نداشتم این کارا رو بکنی

میخواستم بیام پیشت ب محسن گفتم بهت بگه در اومدی گفتی بگو نیاد ؟!

بعد تعجبم میکنی از حرفم ؟!
Virus 32 :
چیکار کردم مگه کیلر؟
از اون موقع تا حالا کز کردم یه گوشه کاری ام به کار کسی ندارم
من محسن رو هم هنوز ندیدم که بهش حرفی گفته باشم
ماهی یه بار نیم ساعتی میام اینجا فقط
دیدم اونو نوشتی تعجب کردم
بالای هشتصد تا کامنت تایید نشده هست حتی از کامنتای قبلیتم خبر ندارم
..... آروم باش .....
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی