PDA

View Full Version : سوال: چگونه اعدادم را رند کنم ؟



ایمان مدائنی
پنج شنبه 22 بهمن 1388, 22:53 عصر
سلام !
من یک textbox دارم که حاصل جمع چند textbox داخلش ریخته میشه !
می خوام جمع را رند کنم !
مثلا اگه حاصل شد 19750 ریال رند بشه به 20000 ریال ، اگه شد 19250 ریال رند بشه به 19000 ریال !
یعنی زیر 50 تومان بود 0 بشه بالای 50 تومان بود بشه 100 !
ممنون میشم کدش را برام بزارید !
از همتون ممنونم !
خیلی کمکم کردید تاحالا !

ایمان مدائنی
جمعه 23 بهمن 1388, 00:22 صبح
کسی بلد نیست ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:قهقهه:
آخه من از کی بپرسم ؟؟؟؟؟؟؟؟؟؟؟؟:عصبانی++:

debugger
جمعه 23 بهمن 1388, 00:25 صبح
باید بشینی کد بنویسی

اول الگوریتمشو پیدا کن و بعد کدتو بنویس و بعد مشکل داشتی اینجا بگو

این چند روزه ماشاالله فکر کنم روزی سه چهار تا تاپیک از شما می بینم

همیشه بهتره سعی کنیم تولید کننده باشیم نه مونتاژ کننده

ایمان مدائنی
جمعه 23 بهمن 1388, 09:21 صبح
عزيز خوب خودمم مي دونم بايد كد بنويسم !
ولي نمي دونم چه كدي بنويسم !
مگه اين سايت جايي براي برنامه نويسهاي مبتدي نداره ؟؟؟؟
يعني اينجا جايي براي ما مبتدي ها نيست ؟؟؟؟؟

SMRAH1
جمعه 23 بهمن 1388, 10:10 صبح
سلام
یک راه حل اینه (الگوریتم رو می نویسم،برنامه رو خودتون بنویسید):
1) فرض کنید قیمت شما در متغیر x ذخیره شده.
2) باقیمانده ی x را بر 1000 در y ذخیره کن.
3) اگر y کوچکتر از 500 است ،y را از x کم کن تا قیمت بدست بیاد.
4) اگر y بزرگتر یا مساوی 500 است،با اندازه 1000 منهای y ، به x اضافه کن.
5) برنامه رو که نوشتی اینجا بذار که این تاپیک به #C ربط پیدا کنه!
موفق باشی

ایمان مدائنی
جمعه 23 بهمن 1388, 10:56 صبح
سلام
یک راه حل اینه (الگوریتم رو می نویسم،برنامه رو خودتون بنویسید):
1) فرض کنید قیمت شما در متغیر x ذخیره شده.
2) باقیمانده ی x را بر 1000 در y ذخیره کن.
3) اگر y کوچکتر از 500 است ،y را از x کم کن تا قیمت بدست بیاد.
4) اگر y بزرگتر یا مساوی 500 است،با اندازه 1000 منهای y ، به x اضافه کن.
5) برنامه رو که نوشتی اینجا بذار که این تاپیک به C#‎ ربط پیدا کنه!
موفق باشی

ممنونم عزيز

nathan
جمعه 23 بهمن 1388, 12:07 عصر
دوست عزيز محدوده اعداد شما چه طوريه مثلاً اعداد فقط بين 10000 تا 20000 مي باشد يا نه هر عددي مي تواند باشد؟

ایمان مدائنی
جمعه 23 بهمن 1388, 12:21 عصر
دوست عزیز محدوده اعداد شما چه طوریه مثلاً اعداد فقط بین 10000 تا 20000 می باشد یا نه هر عددی می تواند باشد؟

عزیز هر عددی میتونه باشه !
مقادیر پولی هست !
تو توضیحات کفتم
می خوام رند باشه !
مثلا اگه شد 97500 ريال بشه 98000 ريال اگه شد 92500 ريال بشه 92000 ريال !
زیر 50 تومن 0 بشه بالای 50 تومان 100 بشه !

ایمان مدائنی
شنبه 24 بهمن 1388, 12:04 عصر
یعنی تو این سایت به این بزرگی و این همه برنامه نویس حرفه ای ، هیچ کس جواب سواله منو نمی دونه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟:گریه::گری :
تورو خدا یکی جواب بده !!!!!:ناراحت:
من وقتم کمه ، باید تا هفته دیگه پروژه رو تحویل بدم !!!!!:افسرده::افسرده:

dousti_design
شنبه 24 بهمن 1388, 12:22 عصر
مثلا اگه شد 97500 ریال بشه 98000 ریال اگه شد 92500 ریال بشه 92000 ریال !فکر کنم اینجا رو اشتباه نوشتید!:متفکر:
یا اینکه من متوجه نشدم

ایمان مدائنی
شنبه 24 بهمن 1388, 13:00 عصر
فکر کنم اینجا رو اشتباه نوشتید!:متفکر:
یا اینکه من متوجه نشدم

عزيز شما متوجه نشديد !
من ميخوام جمع آخرم رند بشه !
اين بر نامه براي يك شركت خدماتي هست !
از من خواستن جمع آخر رند باشه تا پولي كه مشتري پرداخت ميكنه خورده نداشته باشه !
ميخوان جمع آخرم رند بشه به 100 تومن !
مثلا اگه حاصل جمع تمام ستون ها شد 9750 تومن رندش كنه به 100 تومن يعني بشه 9800 تومن و اگه شد 9725 تومن رندش كنه به 9700 تومن !
يعني مجبور نباشن كه پول خورد به مشتري پس بدند !
رو اين قضيه خيلي كليد كردم ، يعني براشون خيلي مهمه !:ناراحت:
حالا يكي بگه چطوري اين كارو بكنم !:گریه:
برنامه كامل شده فقط همينش مونده ! :عصبانی++:

dousti_design
شنبه 24 بهمن 1388, 13:27 عصر
اگر منظور شما اینه که تعداد صفر ها معین هست. یعنی آخر هر عدد مثلا دوتا باید صفر باشه(تا این حد روند باشه)
مثلا عدد 19750:
یک بار تقسیم بر 10 میکنید و باقیماندش میشه 0(یعنی اولین عدد از سمت راست).و باقیمانده رو توی یه درایه از آرایه ذخیره میکنید. و خارج قسمت رو هم توی یه متغیر(مثلا به نام x)
حالا x رو بازهم به 10 تقسیم میکنید. باقیمانده میشه 5(یعنی دومین عدد از سمت راست) و باقیمانده رو توی یه درایه از آرایه ذخیره میکنید. و خارج قسمت رو هم توی متغیر x ذخیره میکنید.
همینطوری ادامه میدید تا همه اعداد رو توی آرایه داشته باشید.
حالا بررسی میکنید اگر تعداد صفری که توی آخر آرایه میخواستید وجود داره که همون جوابه اگر نه:
عدد اصلی(19750) رو به تعدادی که صفر میخوایم تقسیم بر 10 میکنیم.
حالا میاییم و عدد ممیزی رو با توابع روندسازی سی شارپ (http://www.dotnetspider.com/resources/4599-Rounding-numbers-C.aspx) روند میکنیم. و بعد عدد حاصل رو به تعدادی که تقسیم بر 10 کرده بودیم، ضربدر 10 میکنیم.
مثلا عدد 19750:(میخواهید سر آخر 3تا صفر بشه)
19750/10=1975
1975/10=197.5
197.5/10=19.75
با توابع روند سی شارپ 19.75 رو روند میکنیم.(میشه 20)
حالا به تعدادی که تقسیم بر 10 کرده ایم ، ضربدر 10 میکنیم.
میشه 20000
. البته من زیاد سی شارپ کار نکردم. ببخشید اگر ناشیانه بود. ولی فکر کنم کار کنه.
موفق باشید

ایمان مدائنی
شنبه 24 بهمن 1388, 14:38 عصر
عزيز الگوريتمشو دارم !
كدهاشو مي خوام !
لطفا كدش رو برام بزار

dousti_design
شنبه 24 بهمن 1388, 14:44 عصر
این انجمن ها اصولا روندشون همینطوری هست که به مشکلات کوچیک جواب میدن. من الگوریتمش رو گفتم بهتون. شما کل برنامه رو میخواید(!):گیج:
-----
موفق باشید!

ایمان مدائنی
شنبه 24 بهمن 1388, 18:10 عصر
عزیز من کله برنامه رو نمی خوام !
مشکلات کوچیک رو افراد مبتدی هم می تونند حل کنند !
خود شما برنامه نویسی رو چطوری شروع کردی ، از اول حرفه ای بودی ؟؟؟؟؟؟؟؟؟
خود شما وقتی به یک مشکل بزرگ بر بخوری چیکار میکنی ؟؟؟؟
اگه حتی ندونی از کجا باید شروع کنی !
مشکله ما ایرانیها اینه که نمیذاریم کسی از تجربیاتمون استفاده کنه !
ممنونم که جواب دادید !
چواب رو پيدا كردم :


private void button1_Click(object sender, EventArgs e)
{
int x = int.Parse(textBox1.Text);
string d = x.ToString().Substring(textBox1.Text.Length - 3, 3);
if (int.Parse(d) >= 500)
{
x -= int.Parse(d);
x += 1000;
}
if (int.Parse(d) < 500)
{
x -= int.Parse(d);
}
textBox2.Text = Convert.ToString(x);
}

دیگه سوالی ندارم !