Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop_1 / ЛК / Лекция 14ВвВывМодуль.doc
Скачиваний:
42
Добавлен:
10.06.2015
Размер:
415.74 Кб
Скачать

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

  1. Заголовок

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

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

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

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

{

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 рублей и предоставляется скидка:

21.2 Структура функции

С именем функции связано значение, поэтому имя функции можно использовать в выражении. (Имя функции может входить как операндв выражение).

  1. Заголовок

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

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

Примервычисления корней квадратного уравнения

a*x2 +b*x+c=0

Рассмотрим процедуру обработки события нажатия кнопки Button1, в которой вызывается функцияD– расчета дискриминанта квадратного уравнения.

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

{

public Form1()

{

InitializeComponent();

}

public double d(double p1, double p2, double p3) // функция дискриминант с параметрами p1, p2, p3

{

return p2*p2 - 4*p1*p3;

}

private void button1_Click(object sender, EventArgs e)

{

double x1,x2;

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

double b = double.Parse(textBox2.Text);

double c = double.Parse(textBox2.Text);

if (a == 0)

MessageBox.Show("Коэффициент при второй степени неизвестного х равен 0 ", "Уравнение не квадратное!", MessageBoxButtons.OK, MessageBoxIcon.Error);

else

{

if (d(a, b, c) > 0)

{

DialogResult rsl = MessageBox.Show("Корни расчитать?: ", "Имеются действительные корни!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (rsl == DialogResult.Yes)

x1 = (-b + Math.Sqrt(d(a, b, c))) / 2 * a;

x2 = (-b - Math.Sqrt(d(a, b, c))) / 2 * a;

label1.Text = "Корни уравнения: x1= " + String.Format("{0,6:f3}", x1) +

" x2= " + String.Format("{0,6:f3}", x2);

}

else

{

MessageBox.Show("Уравнение не имеет действительных корней! ", "Дискриминант < 0", MessageBoxButtons.OK, MessageBoxIcon.Warning);

label1.Text = "Ответ:";

}

}

}

private void button2_Click(object sender, EventArgs e) // очистка объектов

{

textBox1.Clear();

textBox2.Clear();

textBox3.Clear();

label1.Text = " ";

}

private void button3_Click(object sender, EventArgs e) // завершение работы

{

Application.Exit();

}

}

}

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

1. Случай, когда при вводе данных допущена ошибка вида: а=0

2. Случай, когда при вводе данных d>0

В случае вывода данных с новой строки используется символ \n. Например:

label1.Text = "Корни уравнения:\n x1= " + String.Format("{0,6:f3}", x1) + "\n x2= " + String.Format("{0,6:f3}", x2); даст результат:

3. Случай, когда при вводе данных d< 0

4. Работа кнопки «Очистить»

Соседние файлы в папке ЛК