PDA

View Full Version : جمع کردن اعداد داخل Listbox



mypdf123
جمعه 23 فروردین 1392, 18:05 عصر
سلام دوستان من تازه کارم
من یک Listbox دارم که اعداد داخلش رو کاربر وارد میکنه یعنی تعداد دست من نیست با حلقه وارد میشه
حالا میخوام با کلیک روی دکمه button1 اعداد داخل لیست باکس جمع بشوند مثلا این اعداد
3
6
10
15
21
28
36
45

اینطوری جمع بشوند
3+6+10+15+21+28+36+45
که مساوی است با 164
گفتنش سادست اما دوساعت وقتم رو گرفت مغزم منفجر شد نتونستم حل کنم خواهشاً کمک کنید
تشکر

hosein320
جمعه 23 فروردین 1392, 18:08 عصر
سلام

dim i as integer
i=listbox1.items.count-1
dim j as integer
dim Sum as integer=0
for j = 0 to (i-1)
sum+=listbox1.items(j+1)
next
msgbox sum

موفق باشید

tooraj_azizi_1035
جمعه 23 فروردین 1392, 18:15 عصر
private void button1_Click(object sender, EventArgs e)
{
//do the cast<> to type that your numbers are
double d = listBox1.Items.Cast<int>().Sum();

MessageBox.Show(d.ToString() + "\n" + (d / listBox1.Items.Count).ToString());
}

h_a_m_i_d
جمعه 23 فروردین 1392, 18:29 عصر
سلام دوست عزیز اینم یک پروژه که براتون نوشتم امیدوارم که مشکلاتتون برطرف شه

mypdf123
جمعه 23 فروردین 1392, 19:55 عصر
سلام

dim i as integer
i=listbox1.items.count-1
dim j as integer
dim Sum as integer=0
for j = 0 to (i-1)
sum=listbox1.items(j)
sum+=listbox1.items(j+1)
next
msgbox sum

موفق باشید

تشکر از همه دوستان
tooraj_azizi_1035 فکر کنم برنامه شما به زبان سی هست من پروژه ام رو vb.net
h_a_m_i_d عزیز برنامه شما درست عمل میکنه اما سنگین هست برای من ! نمیدونم چجوری رو یک دکمه و لیست باکس پیاده اش کنم
hosein320 عزیز کد شما رو کپی کردم عمل کردش اما فقط جمع دو عدد آخر رو بهم نشون داد! نمیدونم چرا

zahedi121
جمعه 23 فروردین 1392, 22:39 عصر
سلام
اصلاح شده کد حسین آقا (با اجازه ) :


Dim i As Integer
i = ListBox1.Items.Count - 1
Dim j As Integer
Dim Sum As Integer = 0
For j = 0 To i
Sum += ListBox1.Items(j)
Next
MsgBox(sum)

maxvel
شنبه 24 فروردین 1392, 00:08 صبح
چرا انقدر کار رو سخت کنیم

این کد


Dim i As Integer
i = ListBox1.Items.Count - 1
Dim n As Integer
For n = 0 To i


TextBox1.Text = TextBox1.Text + 0 + ListBox1.Items(n)
Next

اینجا textbox1 جواب رو نشون میده

اینم سورس

102726

موفق باشید

Moslem_Pc
یک شنبه 25 فروردین 1392, 12:58 عصر
دوست عزیز تو اینجور مواقع خیلی بهتره که از تابع for each استفاده کنی که کار رو خیلی برامون راحت تر میکنه
تو کد زیر ما میگیم که به ازای هر کدوم از آیتم های لیست باکس یک بار اون آیتم مورد نظر رو با a جمع کن
و در نهایت بعد از اینکه تمام آیتم ها رو جمع کرد دستور بعد از Next رو انجام میده، که تو این کد عدد حاصل رو توی یک مسج باکس نشون میده.
کد رو یه نگاهی بنداز مشکلی بود در خدمتم :لبخندساده:
Dim a As Integer = 0
For Each items As Integer In ListBox1.Items
a = a + items
Next
MsgBox(a)

maxvel
یک شنبه 25 فروردین 1392, 15:34 عصر
سلام
هرچی فکر کردم کجای کد شما نسبت به کدی که من نوشتم کار را آسون کرده متوجه نشدم ! میشه یک مقدار توضیح بدید :لبخندساده:
موفق باشید
سلام قصد تعرض نداشتم از حرفم

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

بازم میگم قصد بی احترامی نداشتم شما استاد مایید یجورای

davood_mortazavi
یک شنبه 25 فروردین 1392, 16:10 عصر
سلام قصد تعرض نداشتم از حرفم

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

بازم میگم قصد بی احترامی نداشتم شما استاد مایید یجورای

سلام
با سابقه ای که در این یک ماه عضویتم از پستهای جناب زاهدی دارم بعید میدونم آقای زاهدی برای اینکه کد را اصلاح ! کردید پست گذاشته باشند. منظور ایشون اشتباهی که در کدتون داشتید ، شما یک string را با عدد جمع کردید :
102819

یاحق

maxvel
یک شنبه 25 فروردین 1392, 18:20 عصر
این چه حرفیه دوسته من!

الان اون کد کار نمیده؟؟؟؟

davood_mortazavi
یک شنبه 25 فروردین 1392, 18:29 عصر
نه کار نمیکنه .
تصویر خطا را که گذاشتم!

maxvel
یک شنبه 25 فروردین 1392, 22:51 عصر
شما تصویر خطای کد من رو گذاشتید یا کدی که خودتون نوشتید؟؟؟


Dim i As Integer
i = ListBox1.Items.Count - 1
Dim n As Integer
For n = 0 To i


TextBox1.Text = TextBox1.Text + 0 + ListBox1.Items(n)
Next

کد من این بالا هستش اما یه نگا به تصویر خودتون بندازید؟؟؟ کدی که شما تو تصویر گذاشتید شبیه به کد من هستش؟؟؟

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

سورسرو که باز کنید مقدار پیش فرض textbox1 عدد 0 هستش در این صورت به راحتی عمل جمع رو انجام میده

حتما سورس رو دانلود کنید بعد نظرتون رو بگید

موفق باشید

davood_mortazavi
یک شنبه 25 فروردین 1392, 23:49 عصر
سلام
سورس که نگذاشتید
کاربر باید خودش بدونه که تکس باکس مقدارش پیشفرض صفر است ؟
کدی که من گذاشتم برای مثال بود آیتم لیست شما یک عدد است دیگه خب من جای اون 3 گذاشتم.
حالا اگر تکس باکس صفر است اون صفری که وسط رشته جمع می کنید برای چیه ؟

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

maxvel
یک شنبه 25 فروردین 1392, 23:56 عصر
سورس ضمیمه شده در پست شماره 7 میتونید دانلود کنید

اینجور حرفا پایان خوبی نداره تو یه فوروم

بله بهتره بیخیال شیم