Вывод на экран сообщения об ошибке ввода на строке - C#
Формулировка задачи:
Здравствуйте все! У меня уже есть готовый код, который вычисляет в textBox количество элементов массива, их сумму, произведение и среднее, а потом выводит на label. Дальше задание следующее:
Выдайте на экран номера строк, которые имеют ошибки ввода и не включены в вычисления. Вывод выполнить одним окном MessageBox.
Помогите, пожалуйста.
private void button1_Click(object sender, EventArgs e)
{
int[] m = new int[1000];
int n = textBox1.Lines.Lenght;
int i;
int k = 0;
int sum = 0;
int product = 1;
int average = 0;
for (i = 0; i < n; i++)
{
try
{
m[k] = Convert.ToInt32(textBox1.Lines[i]);
sum = sum + m[k];
product = product * m[k];
average = sum / n;
}
catch
{
MessangeBox.Show("Буквы нельзя!!");
k++;
}
}
label10.Text = n.ToString();
label11.Text = sum.ToString();
label12.Text = product.ToString();
label13.Text = average.ToString();
}Решение задачи: «Вывод на экран сообщения об ошибке ввода на строке»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
int[] m = new int[1000];
int n = textBox1.Lines.Lenght;
int i;
int k = 0;
int sum = 0;
int product = 1;
int average = 0;
int errors = ""; //переменная для записи ошибок
for (i = 0; i < n; i++)
{
try
{
m[k] = Convert.ToInt32(textBox1.Lines[i]);
sum = sum + m[k];
product = product * m[k];
average = sum / n;
}
catch
{
errors+="Ошибка в строке: "+i.ToString()+"\n"; //добавляем в переменную номер строки, которую не удалось перевести в инт
k++;
}
}
if (errors!="") MessageBox.Show (errors); //если эта переменная не пустая строка, то есть обработчик исключений срабатывал и ошибки были, то выводим это сообщением со списком всех ошибок
label10.Text = n.ToString();
label11.Text = sum.ToString();
label12.Text = product.ToString();
label13.Text = average.ToString();
}