- •СОДЕРЖАНИЕ
- •ТЕМА 1. ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
- •1.1. Интегрированная среда разработчика C++ Builder
- •1.2. Структура программ C++ Builder
- •1.3. Пример написания программы
- •1.3.1. Настройка формы
- •1.3.2. Изменение заголовка формы
- •1.3.4. Размещение надписей (TLabel)
- •1.3.5. Размещение многострочного окна вывода (TMemo)
- •1.4. Выполнение индивидуального задания
- •ТЕМА 2. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ
- •2.1. Операторы if и switch языка C++
- •2.2. Перечисляемые типы данных
- •2.3. Кнопки-переключатели в C++ Builder
- •2.4.1. Coздание формы
- •2.4.3. Работа с компонентом TRadioGroup
- •2.5. Выполнение индивидуального задания
- •ТЕМА 3. ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ
- •3.1. Операторы организации циклов do..while, while, for языка C++
- •3.2. Средства отладки программ в C++ Builder
- •3.3. Порядок выполнения задания
- •3.4. Выполнение индивидуального задания
- •ТЕМА 4. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ МАССИВОВ
- •4.1. Работа с массивами
- •4.2. Компонент TStringGrid
- •4.3. Порядок выполнения задания
- •4.4. Индивидуальные задания
- •ТЕМА 5. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СТРОК
- •5.1. Типы данных для работы со строками
- •5.1.1. Нуль-терминальная строка char[]
- •5.1.2. Тип AnsiString
- •5.1.3. Широкая строка типа WideString
- •5.2. Компонент TListBox
- •5.4. Компонент TBitBtn
- •5.5. Обработка событий
- •5.6. Порядок выполнения индивидуального задания
- •5.7. Индивидуальные задания
- •ТЕМА 6. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СТРУКТУР
- •6.1. Программирование с использованием переменных типа “структура”
- •6.2. Порядок выполнения задания
- •ТЕМА 7. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВ
- •7.1. Работа с файлами
- •7.1.1.1. Работа с текстовыми файлами
- •7.1.1.2. Работа с двоичными файлами
- •7.1.2. Работа с использованием дескрипторов
- •7.1.3. Работа с файлами в стиле С++
- •7.1.4. Работа с файлами с помощью компонентов
- •7.2. Компоненты TOpenDialog и TSaveDialog
- •7.3. Порядок выполнения задания
- •7.3.1. Настройка компонентов TOpenDialog и TSaveDialog
- •7.3.2. Работа с программой
- •8.1. Объявление указателей
- •8.2. Указатели на массив
- •8.3. Особенности применения указателей
- •8.4. Динамическое размещение данных
- •8.5. Порядок выполнения задания
- •8.6. Индивидуальные задания
- •9.2. Использование модулей
- •9.3.2. Подключение модуля
- •9.4. Выполнение индивидуального задания
- •10.1. Обработка исключительных ситуаций
- •10.3. Порядок выполнения индивидуального задания
- •1. Понятие алгоритма и способы его записи
- •2. Общая характеристика языка С++
- •3. Правила написания программ
- •4. Алфавит языка
- •5.1. Константы
- •5.2. Переменные
- •6. Директивы препроцессора
- •6.1. Директива #include
- •6.2. Директива #pragma
- •6.3. Директива #define
- •ЛИТЕРАТУРА
В приведенном примере чтение проводилось последовательно. Узнать текущую позицию указателя можно с помощью функции ftell. Для произвольного
чтения данных можно перемещать указатель в произвольную позицию с помощью функции fseek.
fseek(F, set, nn)
где F- указатель на файл; set – число байт, на которое производится сдвиг от точки отсчета; nn – точка отсчета (0 – начало файла; 1 – текущая позиция; 2 – конец файла).
Наиболее полезна эта функция в файлах, состоящих из записей одного размера.
7.1.2. Работа с использованием дескрипторов
В начале работы любой программы автоматически открываются три потока
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У |
со своими дескрипторами (входной – клавиатура, выходной – экранРи поток |
|||||||||||||||
сообщений об |
ошибках). |
|
Программно можно открывать новые файлы с |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Г |
|
дескрипторами. Правила работы практически идентичны работеИс двоичными |
|||||||||||||||
файлами и различаются только синтаксисом. |
|
|
Б |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
7.1.3. Работа с файлами в стиле С++ |
|
||||||||||
В C++ определены три класса файлового ввода/вывода: ifstream – входные |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
а |
|
|
|
данные для чтения; ofstream – выходные ф йлы для з писи; fstream – файлы для |
|||||||||||||||
чтения и записи. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Очень удобно применять следующ |
|
опер ции: поместить в поток (<<) и |
|||||||||||||
извлечь из потока (>>). |
|
|
|
|
|
к |
|
|
|
||||||
Пример программы: |
|
|
|
т |
|
|
|
||||||||
#include <fstream.h> |
|
|
|
|
|
|
|
||||||||
|
|
ие |
|
|
|
|
|||||||||
|
… |
|
|
|
|
о |
|
|
|
|
|
|
|
||
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
||
Memo1->Clear(); |
|
|
|
|
|
|
|
|
|
|
|||||
// Ввод данных в файл |
|
|
|
|
|
|
|
|
|||||||
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
||
ofstream lw ("a.text"); |
|
|
|
|
|
|
|
|
|
|
|
||||
if (!lw) |
|
|
|
л |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Memo1->Lines->Add("Файл не удалось создать "); |
|
|
|||||||||||||
return; |
и |
|
|
|
|
|
|
|
|
|
|
|
|
||
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int num=10;Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
double k=5.67; |
|
|
|
|
|
|
|
|
|
|
|
|
|
char s[20] = "ИНФОРМАЦИЯ";
lw << num << ' ' <<k << ' ' << s << endl; lw.close();
PDF created with pdfFactory Pro trial version www.pdffactory.com