• Предмет: Информатика
  • Автор: sanchik908
  • Вопрос задан 2 месяца назад

Написати програму з використанням додатку Windows Forms для
обчислення заробітної плати. Ставка 300$ + відсотки. Продаж до
500$ - 3%, від 500 до 1000$ - 5%, понад 1000 – 8%.
Вимоги:
 Мінімум для трьох співробітників
 перевірка на помилки введення;
 створити кнопку для генерації випадкових продажів
 знайти найкращий результат та зафарбувати його кольором + премія
200$
 передбачити однакові результати
 створити кнопку для очищення значень

Ответы

Ответ дал: careyif534
0

Ответ:

```csharp

using System;

using System.Windows.Forms;

namespace SalaryCalculator

{

public partial class Form1 : Form

{

private Random random = new Random();

public Form1()

{

InitializeComponent();

}

private void btnCalculate_Click(object sender, EventArgs e)

{

double rate = 300;

double highestSale = 0;

int count = 0;

double totalSalary = 0;

foreach (TextBox textBox in Controls)

{

if (double.TryParse(textBox.Text, out double saleAmount))

{

double commissionRate;

if (saleAmount <= 500)

{

commissionRate = 0.03;

}

else if (saleAmount <= 1000)

{

commissionRate = 0.05;

}

else

{

commissionRate = 0.08;

}

double commission = saleAmount * commissionRate;

double salary = rate + commission;

totalSalary += salary;

if (saleAmount > highestSale)

{

highestSale = saleAmount;

}

count++;

}

else

{

MessageBox.Show("Введено некоректне значення. Будь ласка, введіть числове значення для продажу.", "Помилка", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

}

double averageSalary = totalSalary / count;

// Очищення попередньо зафарбованих текстових полів

foreach (TextBox textBox in Controls)

{

textBox.BackColor = default;

}

// Зафарбування найкращого результату

foreach (TextBox textBox in Controls)

{

if (double.TryParse(textBox.Text, out double saleAmount))

{

if (saleAmount == highestSale)

{

textBox.BackColor = System.Drawing.Color.Green;

double salary = rate + saleAmount * GetCommissionRate(saleAmount);

salary += 200;

textBox.Text = salary.ToString();

}

}

}

txtTotalSalary.Text = totalSalary.ToString();

txtAverageSalary.Text = averageSalary.ToString();

}

private void btnClear_Click(object sender, EventArgs e)

{

foreach (TextBox textBox in Controls)

{

textBox.Text = string.Empty;

}

txtTotalSalary.Text = string.Empty;

txtAverageSalary.Text = string.Empty;

// Очищення зафарбованих текстових полів

foreach (TextBox textBox in Controls)

{

textBox.BackColor = default;

}

}

private void btnGenerate_Click(object sender, EventArgs e)

{

foreach (TextBox textBox in Controls)

{

textBox.Text = random.Next(100, 2000).ToString();

}

}

private double GetCommissionRate(double saleAmount)

{

if (saleAmount <= 500)

{

return 0.03;

}

else if (saleAmount <= 1000)

{

return 0.05;

}

else

{

return 0.08;

}

}

}

}

```

Вас заинтересует
1 год назад