ماشین حساب شیشه ای(توسعه یافته)

پرسیده شده
فعالیت 906 روز پیش
دیده شده 522 بار
1

سلام

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

و اما سوالم:
من دکمه های پرانتز رو هم اضافه کردم ولی یک باگی دارند:
چون نتیجه داخل eval ریخته میشه اگه قبل پرانتز یک عملگر ریاضی نباشه، مثلا: (3)2 ،eval اون رو به عنوان تابع در نظر میگیره و چون همچین تابعی تعریف نشده، جوابی برنمیگردونه.
با این حالت مشکلی نداره: (3*2)+3 و منطقی هم هست ولی مثل بالا بشه باگ میده. چجوری برطرفش کنم؟

 

 

 

 

 

فایل پیوست
calculator.rar
1.69 KB

عماد چشم آذر
عماد چشم آذر

5 شهریور 00

1
حذف شده

سلام

ممنون از اینکه به اشتراک دانش و تجربه پرداختید

کار شما درسته و البته رفتار eval هم همینطور

ما در ماشین و حتی ماشین حساب هایی که من دیدم ضرب در پرانتز بدون علامت نداریم و باید حتما علامت داشته باشه

اگر دوست داشتید مثل ریاضی داخل کتاب ها عمل بکنه باید قبل از اینکه متن را تحویل eval بدید خودتون علامت قبل از پرانتز را بهش اضافه کنید

یعنی کاربر اون را نمیبینه ولی به eval میدید

برای اینکار هم با استفاده از توابع String یا با استفاده از regex میتونید موضوع را حل کنید

فایل پیوست

مهرداد دادخواه

توسط

مهرداد دادخواه

2 آبان 00