نمایش نتایج 1 تا 15 از 15

نام تاپیک: محاسبه فرمول وارد شده توسط کاربر در یک Edit

  1. #1

    محاسبه فرمول وارد شده توسط کاربر در یک Edit

    با سلام
    من میخام برنامه ای بنویسم که در یک Edit کاربر فرمولی شبیه 2+5/6 یا (7+4-3*4)/4 رو وارد میکنه.برنامه باید بتونه حاصل رو محاسبه کنه.
    هر فرمولی ممکنه در ورودی وارد بشه
    راهنمایی لطفا
    با تشکر فراوان

  2. #2
    باید از پشته استفاده کنی
    حالا کجاش رو مشکل داری؟
    تمرین هست یا هدف کاربردی داری؟
    You never know what you can do until you try

  3. #3
    ممنون از جوابتون
    این یه قسمتی از پروژه هست.
    روند استفاده از پشته رو لطفا بفرمایید از یک پشته کافیه؟

  4. #4
    این چیزی نیست که من بخوام اینجا توضیح بدم
    یه بحث کامل است که معمولا توی کتابهای ساختمان داده ها مطرح میشه
    ولی اگه بخوای از کامپوننتهای آماده استفاده کنی 1stClass یه Calcedit داره که میتونه یه ماشین حساب رو زیر یک Edit باز کنه
    اگر هم اولویت عملگرها و پرانتزها برات مهم نیست من فکر کنم یک نمونه کد دارم(محمود؟)
    You never know what you can do until you try

  5. #5
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    نقل قول نوشته شده توسط علامت سوال مشاهده تاپیک
    با سلام
    من میخام برنامه ای بنویسم که در یک Edit کاربر فرمولی شبیه 2+5/6 یا (7+4-3*4)/4 رو وارد میکنه.برنامه باید بتونه حاصل رو محاسبه کنه.
    هر فرمولی ممکنه در ورودی وارد بشه
    راهنمایی لطفا
    با تشکر فراوان
    روشی که دوستمان گفت درست است.
    ولی می توانی از یک آرایه نیز استفاده کنی.
    موفق باشی

  6. #6
    نقل قول نوشته شده توسط SYNDROME مشاهده تاپیک
    با سلام

    روشی که دوستمان گفت درست است.
    ولی می توانی از یک آرایه نیز استفاده کنی.
    موفق باشی
    خب همون پشته میشه دیگه.پیاده سازی پشته با هزار و یک راه میشه انجام داد.

  7. #7
    اینم پیاده سازیش با پشته
    برای استفاده دیگران گذاشتم
    http://www.delphi32.com/vcl/5613/
    توی این سایت کامپیوننت های مجانی دیگه ای هم هست

  8. #8
    اگر ساختمان داده رو خونده باشی بهترین کار تبدیل فرمول به عبارت post Fix میباشد و سپس محاسبه عبارت جدید.

  9. #9
    ترکیب (علامت سوال) و (Answer) خیلی جالبه
    اگه بخام همه این کارها رو خودم بکنم قیمت پروژه به شدت افزایش پیدا میکنه ابزارهای مجانی و آماده که با هدف کاهش کد نویسی برنامه نویس ایجاد شدن بهترین گزینه هستند

  10. #10
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    نقل قول نوشته شده توسط علامت سوال مشاهده تاپیک
    خب همون پشته میشه دیگه.پیاده سازی پشته با هزار و یک راه میشه انجام داد.
    درست است می توانی این کار را انجام دهید.
    ولی منظور بنده دقیقا پشته واقعی بود که شما با یا Readدارید یا Write نا با استفاده از آرایه.
    مدیریت آن نیاز به تجربه دارد و به نظر بنده کمی هم سخت است.
    موفق باشید.

  11. #11
    نقل قول نوشته شده توسط SYNDROME مشاهده تاپیک
    مدیریت آن نیاز به تجربه دارد و به نظر بنده کمی هم سخت است.
    ممنون از جوابت ولی پیاده سازی پشته انقدر ها هم سخت نیست
    یه push , pop ساده هست چند خط بیشتر هم کد نویسی نداره .
    همون طوری که دوستان گفتن از مباحث ساختمان داده ست و راحت میشه پیداش کرد چیز ساده ایه.

    ولی این مسئله با وجود عدد منفی وجود پرانتز و همچنین اولویت عملگر ها مثل ضرب و تقسیم یه ذره پیچیده میشه که بهتره بجای وقت گذاشتن روش از نمونه های آماده و مجانی استفاده بشه

  12. #12
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814
    با سلام
    نقل قول نوشته شده توسط علامت سوال مشاهده تاپیک
    ولی این مسئله با وجود عدد منفی وجود پرانتز و همچنین اولویت عملگر ها مثل ضرب و تقسیم یه ذره پیچیده میشه که بهتره بجای وقت گذاشتن روش از نمونه های آماده و مجانی استفاده بشه
    بخاطر همین گفتم از آرایه استفاده کن.
    مثلا عبارت

    100 * 2000 - (-200)

    برای ذخیره به شکل زیر عمل می کنی.

    100
    *
    2000
    -
    200-

    حالا با یک بار پیمایش در آرایه آرایه را به شکل زیر تغییر می دهید.

    100
    *
    2000
    +
    200

    و کارهای دیگر هم به همین شکل.
    راحتر از پشته است و نیازی به خالی کردن پشته نیست تا به -200 برسیم
    موفق باشید

  13. #13
    خوب اگر بخواهد همپین کاری بکند برای پشتیبانی بهتر پرانتزها بهتره از لیست های پیوندی استفاده کنه.

  14. #14
    هیچ راه حلی به زیبایی پشته نمیشه تازه اگه راه حلی بجز پشته هم داشته باشه

  15. #15
    مگه می خواهد کمپایلر یا مترجم بنویسه.

تاپیک های مشابه

  1. یک سوال درباره edit
    نوشته شده توسط moslam در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: جمعه 11 خرداد 1386, 08:08 صبح
  2. Edit در vb
    نوشته شده توسط RamezanBeik در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: شنبه 11 فروردین 1386, 19:36 عصر
  3. کمک در مورد فارسی نویسی در edit
    نوشته شده توسط ghafar.t.d در بخش برنامه نویسی در Delphi
    پاسخ: 8
    آخرین پست: پنج شنبه 15 تیر 1385, 21:49 عصر
  4. کنترل edit
    نوشته شده توسط mina_84 در بخش برنامه نویسی در Delphi
    پاسخ: 10
    آخرین پست: چهارشنبه 20 اردیبهشت 1385, 08:04 صبح
  5. سوال در مورد edit
    نوشته شده توسط ghafar.t.d در بخش برنامه نویسی در Delphi
    پاسخ: 6
    آخرین پست: دوشنبه 20 تیر 1384, 07:48 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •