При вводе данных в textbox2(Стоимость) и textbox1(Срок) и нажатии на кнопку формируется таблица DataGridView2.
Сначала сумма вычисляется как %нормы от остатка
Необходимо, чтобы когда значение в столбце Остаток стало меньше/равно чем 20% от стоимости(значение в textbox2), то значение в столбце сумма вычислялось по-другому: остаток/кол-во оставшихся месяцев.
Реализовал это как условие в цикле, но тогда сумма остается неизменной, а должна каждый месяц меняться
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); }
}
}