Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Параметры функции




Оператор return

Определение функции

Функции

Использование символов псевдографики.

Кроме обычных символов латинского алфавита, цифр и знаков, в каждое знакоместо можно выводить так называемые символы псевдографики, на основе которых на экране можно построить некоторые графические элементы: рамки, диаграммы, линии и т.п. Коды некоторых символов псевдографики приведены в таблице 1.

Таблица 1. Коды символов таблицы ASCII для работы с псевдографикой:

 

┌ 218 ─ 196 ┬ 194 ─ 196 ┐ 191 ╔ 201 ═ 205 ╦ 203 ═ 205 ╗ 187
│ 179 ░ 176   █ 219 │ 179 ║ 186   ╤ 209   ║ 186
├ 195   ┼ 197   ┤ 180 ╠ 204 ╟ 199 ╬ 206 ╢ 182 ╣ 185
│ 179 ▒ 177   ▓ 178 │ 179 ║ 186   ╧ 207   ║ 186
└ 192 ─ 196 ┴ 193 ─ 196 ┘ 217 ╚ 200 ═ 205 ╩ 202 ═ 205 ╝ 188

 

В качестве примера приводим функцию " Ramka" для построения одинарной рамки с координатами левого верхнего угла (x1,y1) и нижнего правого угла (x2,y2).

// ------------------------------------------------

// Построение одинарной рамки:

// (x1,y1)- левый верхний угол, (x2,y2)-правый нижний

// -------------------------------------------------

#include "mylib.cpp"

void Ramka(int x1, int y1, int x2, int y2)

{ int i,c;

// Меняем местами координаты

if(x1>x2){c=x1;x1=x2;x2=c;};

if(y1>y2){c=y1;y1=y2;y2=c;};

// Рисуем рамку

gotoxy(x1,y1); printf("%c",218);

for(i=1;i<x2-x1;i++) printf("%c",196);

printf("%c",191);

gotoxy(x1,y2); printf("%c",192);

for(i=1;i<x2-x1;i++)printf("%c",196);

printf("%c",217);

for(i=1;i<y2-y1;i++)

{gotoxy(x1,y1+i); printf("%c",179);};

for(i=1;i<y2-y1;i++)

{gotoxy(x2,y1+i); printf("%c",179);};

}

void main()

{

clrscr();

Ramka(12,2,24,8);

getch();

}

В основе технологий создания программ на языке C++ лежит понятие функции. Функция, как механизм, является важнейшим средством декомпозиции программ. Мы ранее уже пользовались функциями, в частности в операциях ввода – вывода, при вычислении математических значений и т.д. Собственно и сама программа на C++ является функцией с именем main().

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

В программе функции можно располагать в любой последовательности.

В C++ не разрешается вложенность функций. Спецификация записи функции имеет вид:

<спецификатор типа> <имя функции>

([<Список формальных параметров>]) {тело функции};

Спецификатор типа определяет тип возвращаемого результата, который может иметь стандартный тип, или тип, определенный пользователем. Возможны функции, не возвращающие никакого результата. Перед именем такой функции ставится тип void.

Функция может возвращать только одно значение, которое указывается оператором return.

 

Оператор return[(<выражение>)]; завершает выполнение функции и передает управление в вызывающую программу.

Оператор return в теле функции может быть записан несколько раз.

Если в операторе return отсутствует выражение (например: return;), то функция ничего не возвращает, поэтому перед ее именем следует поставить тип void.

Например, реализуем функцию, определяющую нечетность целого числа, и приведем способ ее использования:

// Function odd() - Нечетность

#include "mylib.cpp"

int odd(long int A)

{ if (A%2!=0) return (1); else return (0);

}

void main()

{ long int B;

cout<<"\nB = \n"; cin>>B;

if (odd(B)) printf("Nechet!\n");

else printf("Chet!\n");

}

Параметры функции при ее объявлении называются формальными параметрами (в дальнейшем – параметры), а параметры при ее вызове называются фактическими (в дальнейшем – аргументы).

Их количество и расположение должны быть согласованы.

Как правило, неглавные функции располагаются за главной (main()) функцией. Но чтобы компилятор мог правильно определять вызовы функций, в этом случае перед главной функцией помещают прототип вызываемой функции.

Прототип представляет собой заголовок функции без реализации, то есть это своего рода предварительное объявление. Собственно функция описывается в определении, т.е. в разделе полной реализации.

Определение функции может располагаться в любом месте программы. Определение одной функции не может вмещать определение другой функции.

Рассмотрим следующий пример: Задано целое положительное число. Определить, является ли оно простым. (Простым называется целое положительное число больше единицы, которое не делится без остатка ни на одно другое целое положительное число, кроме единицы и самого себя).

// Function-1 Prostoe

#include "mylib.cpp"

int prostoe (long int a); // прототип функции

void main() // Глвная функция

{ long int a;

cout<<"Prostoe li chislo a = "; cin>>a;




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 405; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.