@coachpotato

Реализовать условие в цикле или цикл в цикле?

При вводе данных в textbox2(Стоимость) и textbox1(Срок) и нажатии на кнопку формируется таблица DataGridView2.
Сначала сумма вычисляется как %нормы от остатка
Необходимо, чтобы когда значение в столбце Остаток стало меньше/равно чем 20% от стоимости(значение в textbox2), то значение в столбце сумма вычислялось по-другому: остаток/кол-во оставшихся месяцев.
Реализовал это как условие в цикле, но тогда сумма остается неизменной, а должна каждый месяц меняться
5e81f405eb0cd002521223.jpeg
private void button3_Click(object sender, EventArgs e)
        {
            int nextIndex = 1;
            int time = Convert.ToInt32(textBox1.Text); 
            double norma = Math.Round((double)2 / Convert.ToInt32(textBox1.Text) * 100, 2); //норма
            double ost= Math.Round((double)Convert.ToInt32(textBox2.Text),2); // остаток
            double summa = Math.Round((double)ost / 100 * norma, 2); // сумма в месяц
            double proc = Math.Round((double)Convert.ToInt32(textBox2.Text) / 100 * 20, 2); // 20% от стоимости
            for (int i = 0; i < Convert.ToInt32(textBox1.Text); i++)
            {
               
                dataGridView2.Rows.Add();
                dataGridView2.Rows[i].Cells[0].Value = nextIndex.ToString();
                dataGridView2.Rows[i].Cells[1].Value = Math.Round(ost,2).ToString();
                dataGridView2.Rows[i].Cells[2].Value = Math.Round(summa,2).ToString();
                dataGridView2.Rows[i].Cells[3].Value = Math.Round(norma,2).ToString() + "%";
                nextIndex++;
                ost -= summa;

                if (ost <= proc)
                {
                    summa = Math.Round((double)ost / (time - (nextIndex - 1)), 2);
                }
                else { summa = Math.Round((double)ost / 100 * norma, 2); }
            }
            
        }
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы