Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Уроки программирования C++. Урок 8. Функции и файлы.

Содержание

Инструкция return Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаИнструкция return выполняет две важные операцииОна обеспечивает немедленное возвращение управления к инициатору вызова функцииЕе можно использовать для передачи значения, возвращаемого функцией
Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ С++ФункцииФайлы Инструкция return Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаИнструкция return выполняет две Завершение функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаУправление от функции передается Возврат значений Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаКаждая функция, кроме типа Функции, которые возвращают указателиНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаФункции могут возвращать Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;char *find_substr(char *sub, Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаchar *find_substr(char *sub, char *str){ Рекурсивные функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаРекурсивная функция — это Рекурсивные функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;int Рекурсивные функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова// Рекурсивная версия. int Ссылочные параметры Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаВ C++ можно сориентировать Ссылочные параметры Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаПри выполнении кода функции, Ссылочные параметры Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;void Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаПерегрузка функций — это Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаТакую ситуацию называют перегрузкой Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;void Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаvoid f(int i){  cout Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаДля определения того, какую Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаРассмотрим три функции из Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаinclude using namespace std;// Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаint myabs(int i){  if (i Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаВ C++ мы Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаvoid myfunc(double num Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаПри создании функций, Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаБольшинство компьютерных программ работают с файлами, ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаДля работы с файлами необходимо подключить ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаДля записи в файл создать объект ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаНапример, необходимо создать текстовый файл и ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;int main(int argc, ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include #include using namespace std;int main(int ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаВ С++ предусмотрена такая функция -is_open(), Режимы открытия файловНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаРежимы открытия файлов устанавливают Режимы открытия файловНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаofstream fout( Структуры в С++Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаСтруктура — это , Структуры в С++Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;struct Структуры в С++Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова  apartment1.owner =
Слайды презентации

Слайд 2 Инструкция return
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Инструкция return Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаИнструкция return выполняет

П.А.Овчинникова
Инструкция return выполняет две важные операции

Она обеспечивает немедленное возвращение

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

Ее можно использовать для передачи значения, возвращаемого функцией

Слайд 3 Завершение функции
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Завершение функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаУправление от функции

П.А.Овчинникова
Управление от функции передается инициатору ее вызова в двух

ситуациях:

либо при обнаружении закрывающейся фигурной скобки

либо при выполнении инструкции return

Слайд 4 Возврат значений
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Возврат значений Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаКаждая функция, кроме

П.А.Овчинникова
Каждая функция, кроме типа void, возвращает какое-нибудь значение.
Это значение

явно задается с помощью инструкции return.
Другими словами, любую не void-функцию можно использовать в качестве операнда в выражении.
х = power(у);
if (max(х, у)) > 100) cout << "больше";
switch (abs(х)) { ….


Слайд 5 Функции, которые возвращают указатели
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Функции, которые возвращают указателиНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаФункции могут

имени П.А.Овчинникова
Функции могут возвращать указатели.
Указатели возвращаются подобно значениям

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

int *f();

Слайд 6 Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
#include
using

Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;char *find_substr(char

namespace std;

char *find_substr(char *sub, char *str);
int main()
{
char *substr;

substr = find_substr("три", "один два три четыре");
cout << "Найденная подстрока: " << substr;

return 0;
}


Слайд 7 Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
char *find_substr(char

Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаchar *find_substr(char *sub, char *str){

*sub, char *str)
{
int t;
char *p,

*p2, *start;
for (t = 0; str[t]; t++) {
p = &str[t]; // установка указателей
start = p;
р2 = sub;
while (*р2 && *p2 == *p) { // проверка совпадения
р++; р2++;
}
 /* Если достигнут конец р2-подстроки, то эта подстрока была найдена. */
if (!*р2) return start; // Возвращаем указатель на начало найденной подстроки.
}
return 0; // подстрока не найдена
}


Слайд 8 Рекурсивные функции
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Рекурсивные функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаРекурсивная функция —

П.А.Овчинникова
Рекурсивная функция — это функция, которая вызывает сама себя

Классическим

примером рекурсии является вычисление факториала числа с помощью функции factr()

Слайд 9 Рекурсивные функции
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Рекурсивные функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace

П.А.Овчинникова
#include
using namespace std;

int factr(int n);
int fact(int n);
int

main()
{
// Использование рекурсивной версии.
cout << "Факториал числа 4 равен " << factr(4);
cout << '\n';

// Использование итеративной версии.
cout << "Факториал числа 4 равен " << fact(4);
cout << '\n';

return 0;
}


Слайд 10 Рекурсивные функции
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Рекурсивные функции Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова// Рекурсивная версия.

П.А.Овчинникова
// Рекурсивная версия.
int factr(int n)
{
int answer;

if (n == 1) return(1);
answer = factr(n - 1)*n;
return(answer);
}

// Итеративная версия.
int fact(int n)
{
int t, answer;
answer = 1;
for (t = 1; t <= n; t++) answer = answer* (t);
return (answer);
}


Слайд 11 Ссылочные параметры
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Ссылочные параметры Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаВ C++ можно

П.А.Овчинникова
В C++ можно сориентировать компилятор на автоматическое использование вызова

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



Слайд 12 Ссылочные параметры
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Ссылочные параметры Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаПри выполнении кода

П.А.Овчинникова
При выполнении кода функции, а именно при выполнении операций

над ссылочным параметром, обеспечивается его автоматическое разыменование, и поэтому программисту не нужно использовать операторы, работающие с указателями
Ссылочный параметр объявляется с помощью символа & который должен предшествовать имени параметра в объявлении функции

Слайд 13 Ссылочные параметры
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Ссылочные параметры Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace

П.А.Овчинникова
#include
using namespace std;

void f(int &i);
int main()
{

int val = 1;
cout << "Старое значение переменной val: " << val << '\n';
f(val); // Передаем адрес переменной val функции f().
cout << "Новое значение переменной val: " << val << '\n';
return 0;
}

void f(int &i)
{
i = 10;
}

Слайд 14 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаПерегрузка функций —

П.А.Овчинникова
Перегрузка функций — это механизм, который позволяет двум родственным

функциям иметь одинаковые имена.

В C++ несколько функций могут иметь одинаковые имена, но при условии, что их параметры будут различными.


Слайд 15 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаТакую ситуацию называют

П.А.Овчинникова
Такую ситуацию называют перегрузкой функций (function overloading), а функции,

которые в ней задействованы, — перегруженными (overloaded)
Перегрузка функций — один из способов реализации полиморфизма в C++
В языках программирования и теории типов полиморфизмом называется способность функции обрабатывать данные разных типов

Слайд 16 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace

П.А.Овчинникова
#include
using namespace std;

void f(int i); // один

целочисленный параметр
void f(int i, int j); // два целочисленных параметра
void f(double k); // один параметр типа double

int main()
{
f(10); // вызов функции f(int)
f(10, 20); // вызов функции f (int, int)
f(12.23); // вызов функции f(double)
return 0;
}

Слайд 17 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаvoid f(int i){ cout

П.А.Овчинникова
void f(int i)
{
cout

i равно " << i << '\n';
}
void f(int i, int j)
{
cout << "В функции f(int, int), i равно " << i;
cout << ", j равно " << j << '\n';
}
void f(double k)
{
cout << "В функции f(double), k равно " << k << ' \n';
}

Слайд 18 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаДля определения того,

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

использует тип и/или количество аргументов.

Перегруженные функции должны отличаться типами и/или числом параметров


Слайд 19 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаРассмотрим три функции

П.А.Овчинникова
Рассмотрим три функции из стандартной библиотеки: abs(), labs() и

fabs(). Они были впервые определены в языке С.
Функция abs() возвращает абсолютное значение (модуль) целого числа
Функция labs() возвращает модуль длинного целочисленного значения (типа long)
Функция fabs() — модуль значения с плавающей точкой (типа double)

Слайд 20 Перегрузка функций
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Перегрузка функций Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаinclude using namespace

П.А.Овчинникова
include
using namespace std;

// Функция myabs() перегружается тремя

способами.
int myabs(int i);
double myabs(double d);
long myabs(long l);

int main()
{
cout << myabs(-10) << "\n";
cout << myabs(-11.0) << "\n";
cout << myabs(-9L) << "\n";
return 0;
}

Слайд 21 Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
int myabs(int

Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаint myabs(int i){ if (i

i)
{
if (i

i;
}

double myabs(double d)
{
if (d<0.0) return -d;
else return d;
}

long myabs(long l)
{
if (1<0) return -1;
else return 1;
}

Слайд 22 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаВ C++

имени П.А.Овчинникова
В C++ мы можем придать параметру некоторое значение,

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

Слайд 23 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаvoid myfunc(double

имени П.А.Овчинникова
void myfunc(double num = 0.0, char ch =

'Х')
{
.
.
.
}

myfunc(198.234, 'A'); // Передаем явно заданные значения.

myfunc(10.1); // Передаем для параметра num значение 10.1, а для параметра ch позволяем применить аргумент, задаваемый по умолчанию ('Х').

myfunc(); // Для обоих параметров num и ch позволяем применить аргументы, задаваемые по умолчанию.



Слайд 24 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаПри создании

имени П.А.Овчинникова
При создании функций, имеющих значения аргументов, передаваемых по

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

Слайд 25 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using

имени П.А.Овчинникова
#include
using namespace std;

void clrscr(int size =

25);
int main()
{
int i;
clrscr(); // Очищаем 25 строк.
clrscr(10); // Очищаем 10 строк.
return 0;
}
void clrscr(int size = 25)
{
for (; size; size--) cout << '\n';
}

Программа скомпилируется?

Выполнится правильно?


Слайд 26 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using

имени П.А.Овчинникова
#include
using namespace std;

void clrscr(int size =

25);
int main()
{
int i;
clrscr(); // Очищаем 25 строк.
clrscr(10); // Очищаем 10 строк.
return 0;
}
void clrscr(int size)
{
for (; size; size--) cout << '\n';
}

Программа скомпилируется?

Выполнится правильно?


Слайд 27 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using

имени П.А.Овчинникова
#include
using namespace std;

void clrscr(int b, int

size = 25);
int main()
{
int i;
clrscr(); // Очищаем 25 строк.
clrscr(10); // Очищаем 10 строк.
return 0;
}
void clrscr(int b, int size )
{
for (; size; size--) cout << '\n';
}

Программа скомпилируется?

Выполнится правильно?


Слайд 28 Аргументы по умолчанию
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК

Аргументы по умолчанию Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using

имени П.А.Овчинникова
#include
using namespace std;

void clrscr(int size =

25, int b);
int main()
{
int i;
clrscr(); // Очищаем 25 строк.
clrscr(10); // Очищаем 10 строк.
return 0;
}
void clrscr(int size, int b )
{
for (; size; size--) cout << '\n';
}

Программа скомпилируется?

Выполнится правильно?


Слайд 29 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
Большинство компьютерных

ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаБольшинство компьютерных программ работают с

программ работают с файлами, и поэтому возникает необходимость создавать,

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

Слайд 30 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
Для работы

ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаДля работы с файлами необходимо

с файлами необходимо подключить заголовочный файл
В  определены несколько классов

и подключены заголовочные файлы  - файловый ввод и    - файловый вывод
Файловый ввод/вывод аналогичен стандартному вводу/выводу, единственное отличие – это то, что ввод/вывод выполнятся не на экран, а в файл

Слайд 31 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова

Для записи

ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаДля записи в файл создать

в файл создать объект класса ofstream

Если нужно считать

данные из файла, то создается объект класса ifstream.


Слайд 32 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
Например, необходимо

ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаНапример, необходимо создать текстовый файл

создать текстовый файл и записать в него строку Работа с

файлами в С++. Для этого необходимо проделать следующие шаги:
создать объект класса ofstream;
cвязать объект класса с файлом, в который будет производиться запись;
записать строку в файл;
закрыть файл.


Слайд 33 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
#include
using

ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace std;int main(int

namespace std;

int main(int argc, char* argv[])
{
ofstream fout("cppstudio.txt");
fout

"Работа с файлами в С++";
fout.close();
system("pause");
return 0;
}


Слайд 34 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
#include
#include


using namespace std;

int main(int argc, char* argv[])
{
setlocale(LC_ALL,

"rus"); // корректное отображение Кириллицы
char buff[50]; // буфер промежуточного хранения считываемого из файла текста
ifstream fin("cppstudio.txt"); // открыли файл для чтения
fin >> buff; // считали первое слово из файла
cout << buff << endl; // напечатали это слово
fin.getline(buff, 50); // считали строку из файла
fin.close(); // закрываем файл
cout << buff << endl; // напечатали эту строку
system("pause");
return 0;
}


Слайд 35 Файлы
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова
В С++

ФайлыНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаВ С++ предусмотрена такая функция

предусмотрена такая функция -is_open(), которая возвращает целые значения: 1

— если файл был успешно открыт, 0 — если файл открыт не был.

ifstream fin("cppstudio.doc");
if (!fin.is_open())
{
cout << "Файл не может быть открыт!\n";
return 1;
}


Слайд 36 Режимы открытия файлов
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Режимы открытия файловНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаРежимы открытия файлов

П.А.Овчинникова
Режимы открытия файлов устанавливают характер использования файлов.

Для установки

режима в классе ios_base предусмотрены константы, которые определяют режим открытия файлов

Слайд 37 Режимы открытия файлов
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Режимы открытия файловНикитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова

П.А.Овчинникова


Слайд 38 Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени П.А.Овчинникова

ofstream fout("cppstudio.txt",

Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинниковаofstream fout(

ios_base::app);


fout.open("cppstudio.txt", ios_base::app);


fout.open("cppstudio.txt", ios_base::out | ios_base::trunc);


Слайд 39 Структуры в С++
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Структуры в С++Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.ОвчинниковаСтруктура — это

П.А.Овчинникова
Структура — это , некое объединение различных переменных (даже

с разными типами данных), которому можно присвоить имя.
Например можно объединить данные об  объекте Дом:  город (в котором дом находится), улица, количество квартир, интернет(проведен или нет) и т.д.  в одной структуре.  

Слайд 40 Структуры в С++
Никитин Михаил Евгеньевич, 2013
ГБПОУ ПК имени

Структуры в С++Никитин Михаил Евгеньевич, 2013ГБПОУ ПК имени П.А.Овчинникова#include using namespace

П.А.Овчинникова
#include
using namespace std;

struct building //Создаем структуру!
{

char *owner; //здесь будет храниться имя владельца
char *city; //название города
int amountRooms; //количество комнат
float price; //цена
};

int main()
{
setlocale(LC_ALL, "rus");

building apartment1; //это объект структуры с типом данных, именем структуры, building


  • Имя файла: uroki-programmirovaniya-c-urok-8-funktsii-i-fayly.pptx
  • Количество просмотров: 166
  • Количество скачиваний: 1