Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПргЯВУ_ЛК_СтефановаИА.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.41 Mб
Скачать

18.0 Процедуры и функции

При написании программ в C# программист разрабатывает процедуры обработки событий, вызов которых берет на себя ИСП.

Пользователь может разработать свои собственные процедуры и функции, которые представляют собой последовательность инструкций, предназначенных для выполнения некоторой работы. Чтобы ее выполнить, надо вызвать подпрограмму.

18.1 Структура процедуры

  1. Заголовок

  2. Раздел объявления типов, локальных переменных

  3. Раздел исполнения

Пример вычисления стоимости покупки товара со скидкой, если стоимость покупки составит более 500 рублей и без нее, если стоимость покупки – менее 500 рублей с использованием процедуры Summa.

using System;

using System.Collections.Generic;

u sing 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

{

public Form1()

{

InitializeComponent();

}

/ / Объявление процедуры Summa

public void Summa(out double S, out double Skidka,

double C, int K)

{

Skidka = 0;

S = C * K;

DialogResult rsl = MessageBox.Show("Рассчитать сумму к оплате?: ", "Оплата", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (rsl == DialogResult.Yes)

{

MessageBox.Show("Сумма = " + String.Format("{0,8:f2}", S) + " руб.", "Оплата без скидки", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

if (S > 500)

{

Skidka = S * 0.8;

MessageBox.Show("Сумма со скидкой = " + String.Format("{0,8:f2}", Skidka) + " руб.", "Оплата со скидкой", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

private void button1_Click(object sender, EventArgs e)

{

try //охраняемый блок

{

double S, Skidka;

double cena = double.Parse(textBox1.Text);

int kol = int.Parse(textBox2.Text);

Summa(out S, out Skidka, cena, kol);

label1.Text = "Сумма = " + String.Format("{0,8:f2}", S) + " руб.";

label2.Text = "Скидка = " + String.Format("{0,8:f2}", Skidka) + " руб.";

}

catch //перехватчик исключения и формирование ошибки

{

MessageBox.Show("Надо вводить цифры ", "Ошибочный ввод данных", MessageBoxButtons.OK, MessageBoxIcon.Error);

} // ошибка

}

}

}

Интерфейс проекта в режиме запуска

1. Сумма к оплате < 500 рублей и скидка не предоставляется:

2. Сумма к оплате > 500 рублей и предоставляется скидка: