Лабораторная работа № 9
Создание и использование функций в C++.
Цель: Научится описывать, объявлять и использовать функций в C++.
Задача: Создать приложение с формой, которая вычисляет значение факториала с использованием функции. Организовать функцию выхода из программы.
Порядок выполнения:
- Создать проект с формой.
- Задать имя формы Name=Form1
- Задать надпись в верхней части окна Form1->Caption= “ Создание функции n!”
- На форму вынести элемент главного меню, задать пункт Файл-Выход и действие Form1->Close();
- На форму вынести элемент Edit: Name=Edit1, Text =n.
- На форму вынести 4 элемента Label: 1) Name=Label1, Captiion=”n”, 2) Name= Label2, Captiion=”Введите целое число”, 3) Name= Label1, Captiion=”X”, 4) Name= Label1, Captiion=”!=”. Параметры шрифта выбираются на свое усмотрение.
- На форму вынести кнопку Button: Name= Button1, Caption=“Вычислить”
- На событие OnClick кнопки Button1 записать код:
int C = factorial(StrToInt(Edit1->Text));
Label1->Caption = Edit1->Text;
Label3->Caption = IntToStr(C);
- В окне кода формы описать функцию:
unsigned long factorial(unsigned long n)
{ if (n <= 1)
return 1;
else
return n*factorial(n-1);
}
- В окне кода формы объявить функцию:
unsigned long factorial(unsigned long n) ;
- Подключить модуль <math.h>
Пояснения к коду программы:
Подключаемый модуль:
#include <math.h> //модуль подключается, чтобы работали математические функции
На кнопку Вычислить:
int C = factorial(StrToInt(Edit1->Text)); /*объявляется целочисленная переменная С и ей присваивается factorial преобразованного в целый тип значения текстового поля Edit1*/
Label1->Caption = Edit1->Text; //значение текстового поля Edit1 записывается в содержимое надписи Label1
Label3->Caption = IntToStr(C); //преобразованное в строковый тип значение C записывается в содержимое надписи Label3
Главное меню:
Form1->Close(); //закрыть форму Form1 (закрыть программу)
Описание функции:
unsigned long factorial(unsigned long n) /*функция factorial с беззнаковым длинным целым входным значением n отдает результат в виде беззнакового целого значения */
{ //начало функции
if (n <= 1) //если n <= 1 то
return 1; // выйти из функции со значением 1
else //иначе
return n*factorial(n-1); //выйти из функции со значением n*factorial(n-1)
} //конец функции
Объявление функции:
unsigned long factorial(unsigned long n) ; /*объявляется функция factorial с беззнаковым длинным целым входным значением n который отдает результат в виде беззнакового целого значения */
Анимация выполнения работы:
Pr9.exe (12 MБ) Скачать