Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пенко Методпособие к лаб по курсу ПО ЭВМ 2 курс...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
145.41 Кб
Скачать

Пример Mod2Ex1

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

private string[] Europe = new string[] { "Италия", "Франция", "Греция"};

private string[] America = new string[] { "Мексика", "Канада", "США" };

private string[] Asia = new string[] { "Индия", "Япония", "Китай"};

public Form1()

{

InitializeComponent();

lstCountry.SelectedItem = lstCountry.Items[0];

}

private string CalculateCost()

{

decimal cost = 0.0M;

decimal dayCost = 600M - nudPlaces.Value*100;

decimal serviceCost =

(chbBreakfast.Checked ? Convert.ToDecimal(chbBreakfast.Tag) : 0)+

(chbConditioner.Checked ? Convert.ToDecimal(chbConditioner.Tag) : 0) +

(chbWiFi.Checked ? Convert.ToDecimal(chbWiFi.Tag) : 0);

decimal countryCoeff=1M;

if (Europe.Contains<String>(lstCountry.SelectedItem.ToString()))

countryCoeff=0.7M;

else if (Asia.Contains<String>(lstCountry.SelectedItem.ToString()))

countryCoeff=0.8M;

decimal seasonCoeff=1M;

if (rbtAutumn.Checked) seasonCoeff=0.7M;

else if (rbtSpring.Checked) seasonCoeff=0.8M;

cost=(dayCost*Convert.ToDecimal(nudDuration.Value)+serviceCost)*seasonCoeff*countryCoeff;

return cost.ToString();

}

private void nudPlaces_ValueChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void nudDuration_ValueChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void lstCountry_SelectedIndexChanged(object sender, EventArgs e)

{

if (lstCountry.SelectedItem != null)

lblCost.Text = CalculateCost();

else

throw new Exception("Не выбрана страна!");

}

private void rbtWinter_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void rbtSpring_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void rbtSummer_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void rbtAutumn_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void chbBreakfast_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void chbWiFi_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

private void chbConditioner_CheckedChanged(object sender, EventArgs e)

{

lblCost.Text = CalculateCost();

}

}

}