رفتن به مطلب
  • 0

چگونگی ورود علامتها همره با عدد به متغییر (ماشین حساب)


arfpink

سوال

سلام به همه

اگه امکانش هست راهنمایی کنید

ممنون

من میخوام از طریق ورودی چیزی شبیه به عبارت رو وارد کنم

(2+3)/(4*5)

و از طریق برنامه خروجی بگیرم

باید چیکار کنم؟

توضیح بیشتر

چطوری با ورود متن محاسباتی بالا از طریق edittext برنامه بتونه عبارت و تشخیص بده و نتیجه محاسبات و در یک label نشون بده بدون اینکه من متن محاسباتی رو داخل سورس وارد کنم

یعنی عبارت رو از طریق edittext به سورس بفهمونم

ممنونم

سلام

ممنونم از دوستان که وقت گذاشتین

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

با توجه به اینکه باید از کلاسها یا تابع و پروسیجرها استفاده کرد

با توجه به اینکه از انواع حلقه ها و شرطها باید استفاده کرد

با توجه به اینکه برنامه فقط تک ورودی هست

با توجه به اینکه تنها راهی که به نظر دوستان و من میرسه که کاراکتر به کارکتر باید چک کرد که اعدادو از علامتها تشخیص بده

و مهمتر از همه

با توجه به اینکه باید الویتهای محاسباتی رو باید تشخیص بده

و کلی باتوجه هات دیگه

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

به طور مثال داخل سورس

label1.text=(sin(45)+4/2)*tan(5)-1

به راحتی نتیجه رو محاسبه میکنه و نمایش میده

بدون هیچ کدنویسی اضافه

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

توضیح بیشتر اینکه بطور خلاصه

ورودی

edittext1.text=4*5

هست

و خروجی هم میشه 20

حالا من میخوام این عبارت رو حالا میشه این کارو کرد یا نه نمیدونم بدم به label

label1.text=edittext1.text

بله با این دستور label متن داخل edittext دقیقا مثل خودش نمایش میده

که خروجی هم میشه 5*4

حالا چه دستور یا تابع آماده ای رو استفاده کنم قبل از edittext1.text که بشه مثل این دستور label1.text=4*5 که نتیجه میشه 20رو انجام بده؟

ممنونم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

این که که کاری نداره*herher*

تو دیزاینر یه چیزی شبیه به این رو درست کن*r24*

به جای علامتا میتونی image view بزاری و عکس هرکدومو توش بزاری*aa*

[edittext1] * [edittext2] / [edittext3] + [edittext4]

----------------------------------------------------------------------

کد نویسی هم اینجوریه (البته بعد اینکه اونارو به برنامه تعریف کردی):-d

یدونه دکمه هم بزاری که بعد اینکه ورودیا رو گرفت با زدن اون خروجی رو بده(مثلا به قول خودت تو لیبل)*nose*

sub btn1 click

dim a as string

a = edittext1.text * edittext2.text

dim b as string

b = edittext3.text + edittext4.text

lable1.text = a/b

end sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یعنی شما ماشین حساب میخوای دیگه ؟

ببینید :

شما اول 2 تا ادیت تکست میزارید برای اینکه کاربر دو تا عدد مورد نظرش رو توشونن بنویسه .

بعد دکمه تعریف میکنید واسه ضرب و تقسیم و منها و جمع . حالا هر چندتاشون رو که میخواید

بعد یک لیبل هم تعریف میکنید برای جواب جمع و ضرب و تقسیم و منها

بعد یک متغیر از نوع اینت تعریف می کنید .مثلا :

dim a as int

بعد توی رویداد کلیک باتن جمع می نویسید :

a = edittext1.text + edittext2.text
label1.text = a

واسه ضرب به جای + شما بزارید *

واسه تقسیم بزارید /

واسه منها هم بزارید -

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان حداقل یه بار سوال کاربر را بخونید بعد جواب بدید :| با خوندن تیتر هم میشه حرفشو فهمید :|

دوست عزیز کارت خیلی سخته و کلی کد نویسی میخواد

اول باید ورودی کاراکتر هارو محدود کنی تا فقط چیزایی که میخوای وارد بشه

بعد بیای به یک حلقه ی فور و با توابع substring و شماره ایندکس هر کاراکتر دونه دونه حروف را بخونی

بعد اگه عدد بود به عنوان int در نظر بگیریو و اگر کاراکتر بود بره یه سوییچ را چک کنه(همون case های مختلف )و تصمیم بگیره مثلا + کنه یا -

ولی در کل سخته خخخخخ و احتمالا پر اشکال

این راهی بود که من به ذهنم میرسه حالا شاید مدیران راه بهتری داشته باشن.:)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

یه ماشین حساب هست اسمش my scrip calculator هست . که کلا فقط یه صفحه است که کاربر با کشیدن دست و نوشتن هر چی که میخواد خود برنامه محاسبه میکنه . حتی محاسبات پیچیره و توان و رادیکال و هر چی ... خیلی جالبه . دوست داشتم بدونم چطور نوشته شده .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

یه ماشین حساب هست اسمش my scrip calculator هست . که کلا فقط یه صفحه است که کاربر با کشیدن دست و نوشتن هر چی که میخواد خود برنامه محاسبه میکنه . حتی محاسبات پیچیره و توان و رادیکال و هر چی ... خیلی جالبه . دوست داشتم بدونم چطور نوشته شده .

سلام

آره دوست عزیز شما درست فهمیدی میخوام چیکار کنم

ولی نه به این قدرت که بشه بصورت نوشته ی دستخط انجام بشه

بازم ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان حداقل یه بار سوال کاربر را بخونید بعد جواب بدید :| با خوندن تیتر هم میشه حرفشو فهمید :|

دوست عزیز کارت خیلی سخته و کلی کد نویسی میخواد

اول باید ورودی کاراکتر هارو محدود کنی تا فقط چیزایی که میخوای وارد بشه

بعد بیای به یک حلقه ی فور و با توابع substring و شماره ایندکس هر کاراکتر دونه دونه حروف را بخونی

بعد اگه عدد بود به عنوان int در نظر بگیریو و اگر کاراکتر بود بره یه سوییچ را چک کنه(همون case های مختلف )و تصمیم بگیره مثلا + کنه یا -

ولی در کل سخته خخخخخ و احتمالا پر اشکال

این راهی بود که من به ذهنم میرسه حالا شاید مدیران راه بهتری داشته باشن.:)

سلام

ممنونم بابت دقتتون

بله با این روش که گفتین تا حدودی کار راه انداز هست

بله دقیقا طول برنامه همه بزرگ میشه هم گم

ممنونم عزیز

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این که که کاری نداره*herher*

تو دیزاینر یه چیزی شبیه به این رو درست کن*r24*

به جای علامتا میتونی image view بزاری و عکس هرکدومو توش بزاری*aa*

[edittext1] * [edittext2] / [edittext3] + [edittext4]

----------------------------------------------------------------------

کد نویسی هم اینجوریه (البته بعد اینکه اونارو به برنامه تعریف کردی):-d

یدونه دکمه هم بزاری که بعد اینکه ورودیا رو گرفت با زدن اون خروجی رو بده(مثلا به قول خودت تو لیبل)*nose*

sub btn1 click

dim a as string

a = edittext1.text * edittext2.text

dim b as string

b = edittext3.text + edittext4.text

lable1.text = a/b

end sub

سلام

شما درست متوجه متن نشدید

البته ضعف توضیحی من هست

من میخوام کل ورودی رو تشخیص بده حتی خود عملهارو

مثلا اگه ورودی بیشتر از 20 تا بود و جای عملهای ریاضی فرق میکرد و بیشتر از 4 عمل اصلی ریاضی بود اون وقت چی؟

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

بازم ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یعنی شما ماشین حساب میخوای دیگه ؟

ببینید :

شما اول 2 تا ادیت تکست میزارید برای اینکه کاربر دو تا عدد مورد نظرش رو توشونن بنویسه .

بعد دکمه تعریف میکنید واسه ضرب و تقسیم و منها و جمع . حالا هر چندتاشون رو که میخواید

بعد یک لیبل هم تعریف میکنید برای جواب جمع و ضرب و تقسیم و منها

بعد یک متغیر از نوع اینت تعریف می کنید .مثلا :

dim a as int

بعد توی رویداد کلیک باتن جمع می نویسید :

a = edittext1.text + edittext2.text
label1.text = a

واسه ضرب به جای + شما بزارید *

واسه تقسیم بزارید /

واسه منها هم بزارید -

سلام

دوست عزیز

متن رو با دقت نخوندی

نه منظورم ماشین حساب نبود

مظورم حل فرمولهای ریاضی هست اونم با یک ورودی از طریق کاربر

ازاینکه وقت گذاشتی

بازم ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

ممنونم از دوستان که وقت گذاشتین

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

با توجه به اینکه باید از کلاسها یا تابع و پروسیجرها استفاده کرد

با توجه به اینکه از انواع حلقه ها و شرطها باید استفاده کرد

با توجه به اینکه برنامه فقط تک ورودی هست

با توجه به اینکه تنها راهی که به نظر دوستان و من میرسه که کاراکتر به کارکتر باید چک کرد که اعدادو از علامتها تشخیص بده

و مهمتر از همه

با توجه به اینکه باید الویتهای محاسباتی رو باید تشخیص بده

و کلی باتوجه هات دیگه

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

به طور مثال داخل سورس

label1.text=(sin(45)+4/2)*tan(5)-1

به راحتی نتیجه رو محاسبه میکنه و نمایش میده

بدون هیچ کدنویسی اضافه

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

توضیح بیشتر اینکه بطور خلاصه

ورودی

edittext1.text=4*5

هست

و خروجی هم میشه 20

حالا من میخوام این عبارت رو حالا میشه این کارو کرد یا نه نمیدونم بدم به label

label1.text=edittext1.text

بله با این دستور label متن داخل edittext دقیقا مثل خودش نمایش میده

که خروجی هم میشه 5*4

حالا چه دستور یا تابع آماده ای رو استفاده کنم قبل از edittext1.text که بشه مثل این دستور label1.text=4*5 که نتیجه میشه 20رو انجام بده؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اوه اوه کار سخت شد*laugh2*:o

ما رفتیم،رشته ی تحصیلیمون به هم نمیخوره داداش*fekr*

از بقیه اساتید کمک بگیر سلولای مغز من رگ به رگ شدن از بس فکر کردم:S

موفق باشی*like*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...