PDA

View Full Version : مشکل این کد کجاست؟(جواب نمیده)



user68
شنبه 23 خرداد 1388, 20:53 عصر
با سلام این یه برنامه ی کوچیک ماشین حسابه ولی مثل این میمونه که اصلا کدی نوشته نشده (جواب نمیده) لطفا بگید مشکلش چیه ؟
با تشکر

SMRAH1
شنبه 23 خرداد 1388, 21:36 عصر
سلام

دوست من این کد اصلا کامپایل نمیشه (چه برسه به اجرا).
جاهای مختلف ایراد میگریه که بهتره یک نگاه بندازی (البته ایراد ها ساده است برای همین به اونها اشاره نمی کنم).
در ضمن کد،بسیار نامنظم نوشته شده که اینطور برنامه نویسی رو اصلا توصیه نمی کنم (هرچه بنرامه نامرتب تر باشد خطا یابی و درک آن سخت تر است).

موفق باشی

user68
شنبه 23 خرداد 1388, 23:39 عصر
با سلاممن نمیدونم چه طور شما میگید که اجرا نمیشه برای خود من اجرا میشه بدون هیچ خطایی!!در ضمن من این برنامه رو از یه پروژه که از همین سایت گرفتم نوشتم و به نظرم هیچ نامنظمی نداره!!از دوستان خواهش میکنم راهنمایی کنند.

Reza_Yarahmadi
یک شنبه 24 خرداد 1388, 13:26 عصر
دوست عزیز روی سیستم من هم 21 خطا داره! همه خطاها پیش پا افتاده هستند خطاهاشو میذارم
چند جا توی دستور if به جای == از = استفاده کردی که ...
یه جا کد زیر رو نوشتی


textBox1.TabIndext += "0";
//Correct
textBox1.Text += "0";



using زیر رو باید اضافه کنی (کلاس Operations)



using System.Windows.Forms;


textBox_output همچین تکست باکسی نداری (همون textBox1 باید بذاری) (خط 232)


تعریف متغیر اولت رو تغییر بده توی کلاس (Operations )



private double result;
//Correct
static double result;

با انجام کارهای بالا تازه برنامه اجرا میشه!!:چشمک:

user68
یک شنبه 24 خرداد 1388, 13:28 عصر
با سلام
یکم مرتبش کردم!! خواهشن دوستان کمک کنید من فقط امروز رو وقت دارم.

user68
یک شنبه 24 خرداد 1388, 13:45 عصر
خیلی ممنون از اینکه خطاها رو گفتید ولی نمیدونم چرا با اینکه این خطا ها رو داشت بازم اجرا میشد ولی حالا چرا کدهای نوشته شده جواب نمیده مثل اینکه کدی نوشته نشده. به نظرم ساختار برنامه منطقیه و نباید مشکلی داشته باشه.در ضمن این قسمت برای چیه؟
من فکر میکردم اینا رو خود #c اضافه میکنه!!

using System.Windows.Forms;

Reza_Yarahmadi
یک شنبه 24 خرداد 1388, 14:37 عصر
زمانی که یه کلاس جدید درست میکنید اون Using رو خودش نمیذاره و چون شما توی کلاستون از MessageBox استفاده کردید باید اضافه بشه.

توی ساختار Switch Case (توی رویداد کلیک =) برای هر Case خط زیر رو بنویسید


textBox1.Text = Convert.ToString(operations.getResult());


یه مشکل دیگه ای هم که داره اینه که شما وقتی یکی از عملگرها رو فشار میدید (+ - * /) محاسبه بر اساس این عملگر انجام میشه در حالی که باید بر اساس عملگر قبلی انجام بشه. یه مثال میزنم
فرض کنید میخواید محاسبه زیر رو انجام بدید
a + b * c
شما اول عدد a رو می نویسید بعد عملگر + رو میزنید و عدد b رو می نویسید وقتی عملگر * رو فشار میدید باید نتیجه جمع حساب بشه و در c ضرب بشه ، در حالی که برنامه شما a * b رو به جای a + b حساب میکنه.

user68
یک شنبه 24 خرداد 1388, 16:12 عصر
خیلی ممنون از راهنمایی که کردی حالا که اون ماشین حساب اصلی رو تست کردم دیدم اونم جواب نمیده و کلا کدش اشتباهه الا دارم کدای یه ماشین حساب دیگه رو بررسی میکنم تا ببینم چیزی دستگیرم میشه.