با سلام خدمت دوستان.
من میخوام یه عدد دو رقمی یا بیشتر رو از کیبرد بگیرم.
چه کار باید بکنم:huh::dodgy:
با سلام خدمت دوستان.
من میخوام یه عدد دو رقمی یا بیشتر رو از کیبرد بگیرم.
چه کار باید بکنم:huh::dodgy:
منظورت کدوم کیبرد هستش؟
کیپد یا صفحه کلید کامپیوتر ؟
منظورت رو دقیق تر بگو
من که نفهمیدم میخای چی کار کنی !
همون کیپد.
مثلا من میخوام یه ماشین حساب درست کنم.
عدد یک رقمی که مشکلی نداره ولی اگه بخوام یه دو رقمی رو در یه چهار رقمی ضرب کنم چه کار باید بکنم؟
کسی نمیخواد جواب بده؟؟؟:s
سلام
برای اینکار روش های مختلفی وجود داره :
مثلا :
dim a as byte , c as word , d as word
mine:
a=getkbd()
if a > 15 then goto mine
if c =0 then
c=a
else
c=c*10
c=c+a
end if
goto mine
توضیح
فرض کنید کاربر کلید 1 رو فشار میده ، چون مقدار c در ابتدا برابر 0 هست ، مقدار a در c ریخته میشه .و دوباره کیپد چک میشه .
دفعه دوم کاربر کلید 2 رو فشار میده ، چون مقدار c برابر با 1 هست ، قسمت دوم شرط اجرا میشه ( در هنگام وارد کردن اولین عدد ، مقدار c برابر 1 شد ) متغیر c در 10 ضرب میشه ( 1 *10 = 10 ) و با a جمع میشه ( حاصل میشه 12 )
دفعه سوم ، بازم c در 10 ضرب میشه و با a جمع میشه و این عمل تا هنگامی که از حلقه خارج نشدید ادامه پیدا میکنه .
برای اینکار روش های دیگه ای هم وجود داره
سلام
بهترین روش همینه.
حالت اعشاریشم اینه :
c=10^n
a=a/c
b=b+a
incr n
که مقدار اولیه ی n برابر 1 هست و مقدار اولیه ی b برابر صفر. a هم عددیه که از کیپد خونده میشه.
فقط باید یه فکری واسه رقمهای صفر بعداز اعشار بکنیم،مثلا در ساختن عدد 0.1203 دچار مشکل میشیم.
مشکلی وجود نداره و باید یه کلید رو به عنوان ممیز انتخاب کنید و هر وقت این کلید فشرده شد یه متغیر در 10 ضرب بشه و اخرش عدد خروجی به ان متغیر تقسیم بشهفقط باید یه فکری واسه رقمهای صفر بعداز اعشار بکنیم،مثلا در ساختن عدد 0.1203 دچار مشکل میشیم.
این کارو با همین کدی که من گفتم میشه انجام داد ، برای قسمت صحیح عدد از کد memeoo استفاده میشه و برای قسمت اعشاری بعداز فشردن دکمه ی اعشار از کدی که من گذاشتم. ولی فکر می کنم واسه رقم های صفر بعداز اعشار به مشکل بر بخوریم.
سلام من توسط نرم افزار Codevision کلمه Hello را در خروجی توسط LED نمایش دهم (atmega 16)لطفا" کمکم کنید.