0
برنامه گرفتن معدل 10 دانشجو از ورودی و قرار دادن آنها در آرایه
سلام خسته نباشین ، سوال :برنامه ای که معدل تعداد 10 دانشجو را ازورودی می خواندودر آرایه ای قرار می دهد.سپس کارای زیر انجام میده ، میانگین معدل دانشجو یان را محاسبه میکنه ، معدل های کمتراز میانگین رادر و listBox1 معدل های بیش تر از میانگین رادر 2 listBoxقرار میدهد ، عناصر آرایه را به طور معکوس درlistBox3 قرار می دهد
private void Form1_Load(object sender, EventArgs e)
{
const int num = 10;
float[] grades = new float[num];
int count = 0; //number of entered data
label1.Text += (count + 1).ToString();
button1.Enabled = false;
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
grades[count++] = Convert.ToInt32(textBox1.Text);
if (count < num)
{
textBox1.Text = "";
textBox1.Focus();
label1.Text = "Number : " + (count + 1).ToString();
}
else
{
button1.Enabled = true;
MessageBox.Show("please click Process button");
}
}
}
private void button1_Click(object sender, EventArgs e)
{
int lessThan = 0, greaterThan = 0;
float average, sum = 0;
//process array with foreach
foreach (float grade in grades)
{
sum += grade;
if (grade < 2)
{
lessThan += 1;
listBox1.Items.Add(grade);
}
else
{
greaterThan += 1;
listBox2.Items.Add(grade);
}
}
average = sum / num;
label4.Text += average.ToString();
//process array with for
for (int i = num - 1; i >= 0; i--)
listBox3.Items.Add(grades[i]);
}
}
}
سوال:برنامه نوشتم اجرا میکنم این خطاهارو نوشتم مشکلش چیه ؟ خواهشا راهنماییم کنید.
1 پاسخ
2
آرایه زیر رو بیرون از Form_Load تعریف کنید، چون داخل Form_Load تعریف شده از داخل سایر Event ها نمیتونید بهشون دسترسی داشته باشید:
float[] grades = new float[num];