Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Уроки Visual C++ arrow Microsoft visual c++ 2008. Урок 9. Функции
25.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Microsoft visual c++ 2008. Урок 9. Функции Печать E-mail
Автор megabax   
17.01.2011 г.
New Page 1

Microsoft visual c++ 2008. Урок 9. Функции

Может быть такая ситуация, когда необходимо произвести несколько раз одно и тоже действия, но с разными наборами данных. Например, несколько раз вычислить синус от разных углов.  Так как неудобно каждый раз писать одно и тоже, но для разных чисел, то во многих языках программирования введена такая замечательная возможность, как подпрограмма. У этой подпрограммы есть набор аргументов и имя. По этому имени можно обращаться к подпрограмме сколько угодно раз с разными наборами данных. В C++ такая подпрограмма называется функцией. Она не только может выполнятся с разными наборами данных но и возвращать результат своего выполнения. Продемонстрируем это на следующем примере:

#include "stdafx.h"

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>  //для exit

 

#define eof -1

#define maxline 1000

#define string_from 2

#define string_count 3

 

 

//функция ввода строки с клавиатуры

int getline(char s[], int lim) {

      int c,i;

      for (i=0; i<lim-1 && (c=getchar())!= eof && c!='\n'; i++) s[i]=c;

      s[i]='\0';

      i++;

      return i;

}

 

//функция выделения подстроки из строки

void substr(char dist[], char sour[], int n, int m) {

      int i,j;

 

      //n-ый элемент находиться в массиве на n-1 месте

      for (i=0, j=n-1; j<(n-1+m); i++, j++) dist[i]=sour[j];

      dist[i]='\0';

}

 

//функция копирования строки

void copystr(char dist[], char sour[]) {

      int i=0;

      while ((dist[i]=sour[i])!='\0') i++;

}

 

int _tmain(int argc, _TCHAR* argv[])

{

      char s[maxline], v[maxline], w[maxline];

      printf("Enter your string\n");

      int i=getline(s,maxline);

      printf("Your entered string: %s\n",s);

      copystr(v,s);

      printf("String after copy: %s\n",v);

      if((i-1)<string_from) {

            printf("Length string to very smoll\n");

            _getch();

            exit(0);

      }

      substr(w,v,string_from,string_count);

      printf("Substring: %s\n",w);

      printf("Press any key to continue");

      _getch();  

      return 0;

}

В данном примере мы реализовали функцию ввода строки с клавиатуры:

int getline(char s[], int lim)

 она возвращает количество введенных с клавиатуры символов. Сами символы помещаются в буфер s[] (в массив), который указывается в качестве аргумента функции.

Функции copystr и substr не возвращают ничего, все их действия производятся с переданными в качестве параметров буферами. Если функция ничего не возвращает то ее тип указывается как void.

Запустив программу на выполнение, мы получим вот такую картину:

Microsoft visual c++ 2008. Урок 9. Функции

 

Последнее обновление ( 12.02.2014 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги