Информационная система по продаже недвижимости

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    119,99 Кб
  • Опубликовано:
    2015-05-09
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Информационная система по продаже недвижимости













ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

на тему

ИНФОРМАЦИОННАЯ СИСТЕМА ПО ПРОДАЖЕ НЕДВИЖИМОСТИ

Исходные данные проекта

Реализовать информационную систему для компаний по продаже недвижимости. Программа должна иметь удобный пользовательский интерфейс с необходимыми пунктами меню. Работа с информацией должна производиться в окнах. Информация должна храниться в различных файлах. Необходимо хранить следующие сведения: данные о квартирах, частном секторе, нежилых помещениях, коммерческой недвижимости, а также о клиентах. Реализовать функции: добавление, удаление, редактирование данных.

Введение

Ключевым понятием C++ является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline- подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В C++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем.++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.

1. Обзор методов и алгоритмов решения поставленной задачи


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

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

Текстовый поток - это последовательность символов. При передаче символов из потока на экран, часть из них не выводится (например, символ возврата каретки, перевода строки).

Двоичный поток - это последовательность байтов, которые однозначно соответствуют тому, что находится на внешнем устройстве.

1.1 Организация работы с файлами средствами C

Объявление файла*идентификатор;

Открытие файла:(имя физического файла, режим доступа)

Режим доступа - строка, указывающая режим открытия файла файла и тип файла. Типы файла: бинарный (b); текстовый (t):Файл открывается только для чтенияФайл открывается только для записи. Если соответствующий физический файл существует, он будет перезаписанФайл открывается для записи в конец (для дозаписи) или создается, если не существует+Файл открывается для чтения и записи.+Файл открывается для записи и чтения. Если соответствующий физический файл существует, он будет перезаписан+Файл открывается для записи в конец (для дозаписи) или создается, если не существует

Неформатированные файловый ввод-вывод

Запись в файл(адрес записываемой величины, размер одного экземпляра, количество записываемых величин, имя логического файла);

Чтение из файла(адрес величины, размер одного экземпляра, количество считываемых величин, имя логического файла);

Закрытие файла(имя логического файла);

Форматированный файловый ввод-вывод

)        Функции fgetc() и fputc() позволяют соответственно осуществить ввод-вывод символа.

)        Функции fgets() и fputs() позволяют соответственно осуществить ввод-вывод строки.

)        Функции fscanf() и fprintf() позволяют соответственно осуществить форматированный ввод-вывод и аналогичный соответствующим функциям форматированного ввода-вывода, только делают это применительно к файлу.

1.2 Организация работы с файлами средствами C++

Файловый ввод-вывод с использованием потоков

Библиотека потокового ввода-вывода #include <fstream>

Связь файла с потоком выводаимя логического файла;

Связь файла с потоком вводаимя логического файла;

Открытие файла

имя логического файла.open(имя физического файла);

Закрытие файла

имя логического файла.close();

2. Обоснование выбранных методов и алгоритмов


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

Рисунок 2.1 Структура используемого списка.

При запуске приложения загружаются следующие файлы:

·        Database\Commercial.cm

·        Database\Flats.f

·        Database\Houses.hs

·        Database\Humans.hm

Данные о квартирах, частных домах и коммерческих зданий при запуске программы загружаются в компонент DataGridView. Данные о клиентах загружаются в список. Список имеет структуру показанную на рисунке 2.1. Данные хранятся в DataGridView и в списке на всём протяжении работы программы. Сохранение данных из DataGridView и списка происходит после нажатия соответствующего пункта меню.

3. Описание программы для программиста


Рисунок 3.1 Диаграмма классов

3.1 Класс FlatBase- базовый абстрактный класс помещений

Таблица 3.1 Поля класса FlatBase

Поле

Тип

Описание

Addr

wchar_t

Адрес

Square

wchar_t

Площадь

Price

wchar_t

Цена

IsTel

bool

Флаг телефона

F

FILE *

Указатель на файл


Таблица 3.2 Методы класса FlatBase

Метод класса

Тип

Описание

uninit()

Void

virtual Size() = 0

Long

Чисто виртуальный метод вывода количества записей в файле

virtualinput(int i, DataGridView^ dgv) = 0

Void

Чисто виртуальный метод ввода данных

virtualSaveToF() = 0

Void

Чисто виртуальный метод сохранения в файл

virtual ReadFromF(int i) = 0

Bool

Чисто виртуальный метод чтения из файла i-й записи

virtual view(int i, DataGridView^ dgv) = 0

Void

Чисто виртуальный метод просмотра данных

virtualinit(char f = 'r') = 0

Void

Чисто виртуальный метод привязки к файлу


.2 Класс Flat : public FlatBase-класс квартир

Таблица 3.3 Поля класса Flat

Поле

Тип

Описание

NumOfRoom

wchar_t

Количество комнат

Floor

wchar_t

Этаж

nalichremonta

bool

Наличие ремонта

IsEmpty

bool

Пустая или жилая квартира


Таблица 3.4 Методы класса Flat

Метод класса

Тип

Описание

virtual Size()

Long

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

virtualinput(int i, DataGridView^ dgv)

Void

Виртуальный метод ввода данных

virtualSaveToF()

Void

Виртуальный метод сохранения в файл

virtual ReadFromF(int i)

Bool

Виртуальный метод чтения из файла i-й записи

virtual view(int i, DataGridView^ dgv)

Void

Виртуальный метод просмотра данных

virtual init(char f = 'r')

Void

Виртуальный метод привязки к файлу


3.3 Класс House : public FlatBase. Класс частных домов

Таблица 3.5 Поля класса House

Поле

Тип

Описание

NumOfFloors

wchar_t

Количество этажей

TypeOfHeat

wchar_t

Тип отопления

NumOfFlats

wchar_t

NumOfRooms

wchar_t

Количество комнат

Sewers

bool

Наличие канализации


Таблица 3.6 Методы класса House

Метод класса

Тип

Описание

virtual Size()

Long

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

virtualinput(int i, DataGridView^ dgv)

Void

Виртуальный метод ввода данных

virtualSaveToF()

Void

Виртуальный метод сохранения в файл

virtual ReadFromF(int i)

Bool

Виртуальный метод чтения из файла i-й записи

virtual view(int i, DataGridView^ dgv)

Void

Виртуальный метод просмотра данных

virtual init(char f = 'r')

Void

Виртуальный метод привязки к файлу


.4 Класс Commercial : publicFlatBase. Класс комерческих зданий

Таблица 3.7 Поля класса Commercial

Поле

Тип

Описание

NumOfFloors

wchar_t

Количество этажей


Таблица 3.8 Методы класса Commercial

Метод класса

Тип

Описание

virtual Size()

Long

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

virtualinput(int i, DataGridView^ dgv)

Void

Виртуальный метод ввода данных

virtualSaveToF()

Void

Виртуальный метод сохранения в файл

virtual ReadFromF(int i)

Bool

Виртуальный метод чтения из файла i-й записи

virtual view(int i, DataGridView^ dgv)

Void

Виртуальный метод просмотра данных

virtual init(char f = 'r')

Void

Виртуальный метод привязки к файлу


3.5 Класс Human. Класс клиентов

Таблица 3.9 Поля класса Human

Поле

Тип

Описание

FIO

wchar_t

ФИО

Tel

wchar_t

Телефон

Addr

Адрес

F

FILE *

Указатель на файл


Таблица 3.10 Методы класса Human

Метод класса

Тип

Описание

Size()

Long

Метод вывода количества записей в файле

SaveToF()

Void

Метод сохранения в файл

ReadFromF(int i)

Bool

Метод чтения из файла i-й записи

init(char f = 'r')

Void

Метод привязки к файлу

uninit()

Void

Метод снятия привязки с файла

Input(String^ fio, String^ tel, String^ adr)

Void

Метод ввода данных в объект

OutFIO()

String^

Метод вывода фамилии

OutTel()

String^

Метод вывода телефона

OutAddr()

String^

Метод вывода адреса


.6 Класс-контейнер ContH. Класс список клиентов

Таблица 3.11 Поля класса-контейнера ContH

Поле

Тип

Описание

Next

ContH *

Указатель на следующий элемент списка клиентов

Prev

ContH *

Указатель на предыдущий элемент списка клиентов

H

Human *

Указатель на объект клиента


Таблица 3.12 Методы класса-контейнера ContH

Метод класса

Тип

Описание

ContH()

-

Конструктор класса контейнера

Add(Human * h)

ContH *

Добавление элемента в список и возврат указателя на последний элемент

Del()

ContH *

Удаление последнего элемента списка и возврат указателя на предпоследний

Next()

ContH *

Переход на следующий элемент списка

Prev()

ContH *

Переход на предыдущий элемент списка

Value()

Human *

Item(int i, ContH * B)

ContH *

Возвращает i-й указатель на объект списка относительноуказателя B

 

4. Описание алгоритмов решения задачи

информационный программа класс алгоритм

4.1 Метод long Flat::Size() - Количество записей в файле

1.      Начало.

.        Установка указателя на конец файла

.        Установка указателя на начало файла

.        Вычисление разности между началом и концом.

.        Вычисление количества записей в файле

.        Возврат количества записей. Конец

4.2 Метод System::Voidadd_click() - Кнопка добавить клиента

1.      Начало.

.        Выделение памяти под нового клиента

.        Заполнение полей клиента

.        Добавление клиента в конец списка

.        Добавление фамилии в listBox1

.        Конец.

4.3 МетодSystem::VoidbEdit2_Click() - Событие на нажатие кнопки изменения клиента

1.      Начало.

.        Если индекс выбранного клиента -1, сообщение об ошибке

.        Если textBox1 только для чтения, снять флаг только для чтения

.        Иначе меняем данные о клиенте

.        Выводим новую фамилию в listBox1

.        Конец.

4.4 Метод System::VoidbAdd1_Click()- Создание диалогового окна

1.      Начало.

.        Выделение памяти под форму

.        Настройка свойств элементов управления

.        Присваивание кнопке события

.       

Похожие работы на - Информационная система по продаже недвижимости

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!