PDA

View Full Version : گرفتن چند ورودی در یک تکست باکس ؟



rozitir
سه شنبه 05 آبان 1394, 11:04 صبح
سلام
یه برنامه است که تو کنسول میتونم درستش کنم ولی میخام ایندفعه تو فرم بسازمش
چطور میشه مثلا ۱۰ عدد رو توی یک تکست باکس بگیرم ؟

مثلا کدی که برای برنامه ایکه ۱۰ تا عدد میگیره و کوچکترینش رو نشون میده رو توی فرم نوشتم
double[] arr;
arr = new double[10];
a = Convert.ToDouble(textBox1.Text);
MessageBox.Show("عدد را وارد کنید...");
for (int i = 0; i <= 9; i++)

{
arr[i] = double.Parse(a.ToString());
textBox1.Text = "";
}
double min = arr[0];
for (int i = 1; i <= 9; i++)
min = Math.Min(min, arr[i]);
MessageBox.Show("کوچکترین" + min);

ولی خیلی اشتباه توش درمیاد !

مثلا برای پاک کردن مقدار قبلی که وارد شده بود . کدش رو کجا باید بزارم که درست کارکنه ؟

کسی میتونه راهنمایی کنه که چطور این رو بسازم ؟

ممنون میشم از دوستانی که راهنمایی کنن


:قلب:

R_khaleghi
سه شنبه 05 آبان 1394, 11:16 صبح
سلام
یه برنامه است که تو کنسول میتونم درستش کنم ولی میخام ایندفعه تو فرم بسازمش
چطور میشه مثلا ۱۰ عدد رو توی یک تکست باکس بگیرم ؟

مثلا کدی که برای برنامه ایکه ۱۰ تا عدد میگیره و کوچکترینش رو نشون میده رو توی فرم نوشتم
double[] arr;
arr = new double[10];
a = Convert.ToDouble(textBox1.Text);
MessageBox.Show("عدد را وارد کنید...");
for (int i = 0; i <= 9; i++)

{
arr[i] = double.Parse(a.ToString());
textBox1.Text = "";
}
double min = arr[0];
for (int i = 1; i <= 9; i++)
min = Math.Min(min, arr[i]);
MessageBox.Show("کوچکترین" + min);

ولی خیلی اشتباه توش درمیاد !

مثلا برای پاک کردن مقدار قبلی که وارد شده بود . کدش رو کجا باید بزارم که درست کارکنه ؟

کسی میتونه راهنمایی کنه که چطور این رو بسازم ؟

ممنون میشم از دوستانی که راهنمایی کنن


:قلب:



شما می تونید یک شماره تعریف کنید که البته این شمارنده می تواند در یک لیبل ذخیره شود و هر بار که بر روی دکمه کلیک می کنید یک واحد به عدد داخل لیبل اضافه شود.
int i = 0; double[] arr = new double[10];


private void button1_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(label1.Text) <= 10)
{
i = Convert.ToInt32(label1.Text);
arr[i] = Convert.ToDouble(textBox1.Text);
label1.Text = (Convert.ToInt32(label1.Text) + 1).ToString();
}
}

rozitir
سه شنبه 05 آبان 1394, 11:30 صبح
ممنون ولی

الان میخام برنامه بالا که مثلا میخام ۱۰ عدد از کاربر بگیرم و کوچکترینش رو نشون بدم
چطور بسازم ؟

R_khaleghi
سه شنبه 05 آبان 1394, 11:36 صبح
ممنون ولی

الان میخام برنامه بالا که مثلا میخام ۱۰ عدد از کاربر بگیرم و کوچکترینش رو نشون بدم
چطور بسازم ؟

شما دو راه دارید واسه این کار:
یکی اینکه با استفاده از یک دکمه دیگر و یک حلقه For کل آرایه را از اول بخوانید و اولین عنصر را درون مثلا متغیر min قرار دهید و هر عددی که کوچک تر از متغیر هست با متغیر جایگزین شود.
راه دوم هم این است که هنگامی که عددی ها را از تکست باکس می خوانید عنصر اول را در متغیر min قرار دهید و با یک شرط بررسی کنید که عدد بعدی از متغیر ما کوچک تر است یا خیر.
و در آخر هم به هر طریقی که خواستید می تونید چاپش کنید.

rozitir
سه شنبه 05 آبان 1394, 11:43 صبح
متوجه نشدم
میشه راه اول رو بگید تو تمرین بالا که اشتباه نوشتم ؟
ممنون میشم:قلب:

R_khaleghi
سه شنبه 05 آبان 1394, 11:47 صبح
double min = arr[0];
for (int i = 1; i <= 9; i++)
min = Math.Min(min, arr[i]);


میشه این قسمت.
شما از تابع min استفاده کردین. ولی من گفتم از دستورات شرطی که تفاوتی هم ندارد و در هر دو صورت جواب یکی می شود.

rozitir
سه شنبه 05 آبان 1394, 11:54 صبح
گیییییییییج شدم :لبخند:
این کد رو تو برنامم نوشتم

الان این کد من
double[] arr;
arr = new double[10];
a = Convert.ToDouble(textBox1.Text);
MessageBox.Show("عدد را وارد کنید...");
for (int i = 0; i <= 9; i++)

{
arr[i] = double.Parse(a.ToString());
textBox1.Text = "";
}
double min = arr[0];
for (int i = 1; i <= 9; i++)
min = Math.Min(min, arr[i]);
MessageBox.Show("کوچکترین" + min);



چطور کار کنم توش بتونه ۱۰ تا عدد رو بگیره و عدد قبلی رو که توش وارد کردیم پاک کنه (مثل ماشین حساب)
ولی

میشه برنامه رو باز نویسی کنید که ۱۰ عدد از کاربر بگیره و کوچکترینش رو نشون بده ؟
ممنون

R_khaleghi
سه شنبه 05 آبان 1394, 12:09 عصر
من این مدلی نوشتم و درست هم حساب می کند و بعد از وارد کردن هر عدد تکست باکس هم پاک می شود.

int i = 0;
double[] arr = new double[10];

private void button1_Click(object sender, EventArgs e)
{
//double min = arr[0];;
if (Convert.ToInt32(label1.Text) < 10)
{
i = Convert.ToInt32(label1.Text);
arr[i] = Convert.ToDouble(textBox1.Text);
textBox1.Clear();

label1.Text = (Convert.ToInt32(label1.Text) + 1).ToString();
}


else
{
double min = arr[0];
for (int i = 1; i < 10; i++)
{
min = Math.Min(min, arr[i]);
}
label2.Text = "min = " + min.ToString();


}

}

rozitir
سه شنبه 05 آبان 1394, 12:27 عصر
ممنون
فقط نمیدونم چرا هرجا i میاد ارور میده

R_khaleghi
سه شنبه 05 آبان 1394, 12:36 عصر
ممنون
فقط نمیدونم چرا هرجا i میاد ارور میده


فایل تون را اینجا بزارید ببینم.

omid2048
سه شنبه 05 آبان 1394, 12:39 عصر
:| به نتیجه رسیدی کدش رو بذار ببینیم

R_khaleghi
سه شنبه 05 آبان 1394, 13:23 عصر
http://s3.picofile.com/file/8219437018/WindowsFormsApplication5.rar.html

rozitir
سه شنبه 05 آبان 1394, 13:28 عصر
ممنون از شما :قلب:

fh1632s
پنج شنبه 26 مهر 1397, 19:18 عصر
اگه بخواییم خط به خط عدد ذخیر کنه کدش چی میشه؟؟؟