Описание программы для программиста
Обзор методов и алгоритмов решения поставленной задачи
Файлом называют способ хранения информации на физическом устройстве. Файл - это понятие, которое применимо ко всему - от файла на диске до терминала. В C++ отсутствуют операторы для работы с файлами. Все необходимые действия выполняются с помощью функций, включенных в стандартную библиотеку. Они позволяют работать с различными устройствами, такими, как диски, принтер, коммуникационные каналы и т.д. Эти устройства сильно отличаются друг от друга. Однако файловая система преобразует их в единое абстрактное логическое устройство, называемое потоком. Текстовый поток - это последовательность символов. При передаче символов из потока на экран, часть из них не выводится (например, символ возврата каретки, перевода строки). Двоичный поток - это последовательность байтов, которые однозначно соответствуют тому, что находится на внешнем устройстве.
1.1 Организация работы с файлами средствами C
Объявление файла*идентификатор; Открытие файла:(имя физического файла, режим доступа) Режим доступа - строка, указывающая режим открытия файла файла и тип файла. Типы файла: бинарный (b); текстовый (t):Файл открывается только для чтенияФайл открывается только для записи. Если соответствующий физический файл существует, он будет перезаписанФайл открывается для записи в конец (для дозаписи) или создается, если не существует+Файл открывается для чтения и записи.+Файл открывается для записи и чтения. Если соответствующий физический файл существует, он будет перезаписан+Файл открывается для записи в конец (для дозаписи) или создается, если не существует Неформатированные файловый ввод-вывод
Запись в файл(адрес записываемой величины, размер одного экземпляра, количество записываемых величин, имя логического файла); Чтение из файла(адрес величины, размер одного экземпляра, количество считываемых величин, имя логического файла); Закрытие файла(имя логического файла); Форматированный файловый ввод-вывод ) Функции fgetc() и fputc() позволяют соответственно осуществить ввод-вывод символа. ) Функции fgets() и fputs() позволяют соответственно осуществить ввод-вывод строки. ) Функции fscanf() и fprintf() позволяют соответственно осуществить форматированный ввод-вывод и аналогичный соответствующим функциям форматированного ввода-вывода, только делают это применительно к файлу.
1.2 Организация работы с файлами средствами C++
Файловый ввод-вывод с использованием потоков Библиотека потокового ввода-вывода #include <fstream> Связь файла с потоком выводаимя логического файла; Связь файла с потоком вводаимя логического файла; Открытие файла имя логического файла.open(имя физического файла); Закрытие файла имя логического файла.close();
Обоснование выбранных методов и алгоритмов
При создании приложения использовалась работа с файлами средствами C с неформатированным вводом-выводом, т.е. чтение и запись данных в файл происходит в виде бинарной информации. Для хранения данных в памяти был использован динамический двунаправленный список, при добавлении нового элемента, он размещается в конец списка. Одновременно во время выполнения программы существуют указатели на начало и на конец списка.
Рисунок 2.1 Структура используемого списка.
При запуске приложения загружаются следующие файлы: · Database\Commercial.cm · Database\Flats.f · Database\Houses.hs · Database\Humans.hm Данные о квартирах, частных домах и коммерческих зданий при запуске программы загружаются в компонент DataGridView. Данные о клиентах загружаются в список. Список имеет структуру показанную на рисунке 2.1. Данные хранятся в DataGridView и в списке на всём протяжении работы программы. Сохранение данных из DataGridView и списка происходит после нажатия соответствующего пункта меню.
Описание программы для программиста
Рисунок 3.1 Диаграмма классов
3.1 Класс FlatBase- базовый абстрактный класс помещений
Таблица 3.1 Поля класса FlatBase
Таблица 3.2 Методы класса FlatBase
Класс Flat: public FlatBase-класс квартир
Таблица 3.3 Поля класса Flat
Таблица 3.4 Методы класса Flat
3.3 Класс House: public FlatBase. Класс частных домов
Таблица 3.5 Поля класса House
Таблица 3.6 Методы класса House
Класс Commercial: publicFlatBase. Класс комерческих зданий
Таблица 3.7 Поля класса Commercial
Таблица 3.8 Методы класса Commercial
3.5 Класс Human. Класс клиентов
Таблица 3.9 Поля класса Human
Таблица 3.10 Методы класса Human
Класс-контейнер ContH. Класс список клиентов
Таблица 3.11 Поля класса-контейнера ContH
Таблица 3.12 Методы класса-контейнера ContH
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|