Применение современных ИТ, математических методов и ООП в решении в работе риелтора

Создание программы, которая выполняет заданные операции над данными: добавление данных об объектах недвижимости, просмотр объектов недвижимости, поиск недвижимости по конкретному району. Проектирование интерфейса и схема алгоритма работы программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.10.2017
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ГОУ ВПО РОСТВОСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ «РИНХ»

ФАКУЛЬТЕТ ИНФОРМАТИЗАЦИИ И УПРАВЛЕНИЯ

Кафедра Экономической информатики и автоматизации управления

КУРСОВАЯ РАБОТА

по дисциплине «Объектно-ориентированный анализ и программирование»

Тема: «Применение современных ИТ, математических методов и ООП в решении в работе риелтора»

Автор курсового проекта:

Группа 321-БИН

Специальность 080500 «Бизнес-информатика»

Руководитель проекта: Наталья Григорьевна Савельева

Ростов-на-Дону

2014

Содержание

Введение

1. Теоретические основы ООП

2. Техническое задание

2.1 Анализ предметной области

2.2 Проектирование программного продукта

2.2.1 Функциональные требования

2.2.2 Требования к интерфейсу

3. Рабочий проект

3.1 Общие сведения

3.2 Укрупненный алгоритм

3.2.1 Классы

3.2.2 Модули

3.2.3 Схема алгоритма

3.3 Руководства пользователя

Заключение

Библиографический список

Приложение А

Введение

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

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

Программа легка и удобна.

1. Теоретические основы ООП

программа алгоритм риелтор

Концепция объектно-ориентированного программирования подразумевает, что основой управления процессом реализации программы является передача сообщений объектам. Поэтому объекты должны определяться совместно с сообщениями, на которые они должны реагировать при выполнении программы. В этом состоит главное отличие ООП от процедурного программирования, где отдельно определённые структуры данных передаются в процедуры (функции) в качестве параметров. Таким образом, объектно-ориентированная программа состоит из объектов - отдельных фрагментов кода, обрабатывающего данные, которые взаимодействуют друг с другом через определённые интерфейсы.

Объектно-ориентированный язык программирования должен обладать следующими свойствами:

абстракции;

инкапсуляции;

наследования;

полиморфизма.

Базовым в объектно-ориентированном программировании является понятие объекта.

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

Класс - некий проект, из которого создаётся объект.

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

Объявление объекта типа класс иногда называют созданием экземпляра класса. Экземпляры класса известны как объекты.

Класс объединяет в себе данные и методы их обработки.

Объявление класса начинается с ключевого слова class. Переменные, константы, функции, включенные в класс, называются членами класса. Члены класса объявляются в одном из трех разделов:

Public - открытый, свойства доступны для всех

Private - только для собственных свойств объекта

Protected - защищенный раздел, свойства доступны для классов-потомков

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

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

Раздел private обеспечивает сокрытие помещенных в него свойств и методов от других объектов, делая их недоступными объектам других классов. Таким образом, класс защищает свои данные (свое состояние) от внешнего воздействия. Посторонний объект может воздействовать на объект данного класса только через интерфейс этого класса.

Раздел protected позволяет, используя механизм наследования, передавать включенные в него члены класса по наследству.

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

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

Наследование - это ещё одно базовое понятие объектно-ориентированного программирования. Наследование позволяет определять новые объекты, используя свойства прежних, дополняя или изменяя их. Объект-наследник получает все поля и методы «родителя», к которым он может добавить свои собственные поля и методы или заменить их своими методами.

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

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

Среда программирования

Средой программирования для создания проекта является Visual Studio 2013. Она включает в себя полный набор новых и улучшенных функций, упрощающих все этапы процесса разработки от проектирования до развертывания.

Microsoft Visual Studio - мощная среда разработки, обеспечивающая высокое качество кода на протяжении всего цикла разработки ПО, от проектирования до внедрения. Какие бы приложения не разрабатывались, для SharePoint, Интернет, Windows, Windows Phone, и других платформ, Visual Studio это универсальное всеобъемлющее решение.

Microsoft Visual Studio 2013 Ultimate - обширный набор средств управления циклом жизни приложения для обеспечения качества результатов от этапа проектирования до развертывания. При создании новых решений или совершенствовании существующих приложений Visual Studio 2013 Ultimate позволит воплотить ваши идеи в жизнь благодаря поддержке различных платформ и технологий, включая облачные и параллельные вычисления.

Модульность программ

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

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

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

Критерии выбора языка программирования

С++ является языком программирования общего назначения. Естественная для него область применения - системное программирование, понимаемое в широком смысле этого слова.

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

Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).

Предсказуемое выполнение программ является важным достоинством для построения систем реального времени. Весь код, неявно генерируемый компилятором для реализации языковых возможностей (например, при преобразовании переменной к другому типу), определён в стандарте. Также строго определены места программы, в которых этот код выполняется. Это даёт возможность замерять или рассчитывать время реакции программы на внешнее событие.

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

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

Язык поддерживает понятия физической (const) и логической (mutable) константности. Это делает программу надёжнее, так как позволяет компилятору, например, диагностировать ошибочные попытки изменения значения переменной. Объявление константности даёт программисту, читающему текст программы дополнительное представление о правильном использовании классов и функций, а также может являться подсказкой для оптимизации. Перегрузка функций-членов по признаку константности позволяет определять изнутри объекта цели вызова метода (константный для чтения, неконстантный для изменения). Объявление mutable позволяет сохранять логическую константность при использовании кэшей и ленивых вычислений.

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

Возможность имитации расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую. Например, библиотека Boost.Bind позволяет связывать аргументы функций.

Возможность создания встроенных предметно-ориентированных языков программирования. Такой подход использует, например библиотека Boost.Spirit, позволяющая задавать EBNF-грамматику парсеров прямо в коде C++.

Используя шаблоны и множественное наследование можно имитировать классы-примеси и комбинаторную параметризацию библиотек. Такой подход применён в библиотеке Loki, класс SmartPrt которой позволяет, управляя всего несколькими параметрами времени компиляции, сгенерировать около 300 видов «умных указателей» для управления ресурсами.

Кроссплатформенность: стандарт языка накладывает минимальные требования на ЭВМ для запуска скомпилированных программ. Для определения реальных свойств системы выполнения в стандартной библиотеке присутствуют соответствующие возможности (например, std::numeric_limits <T>). Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем.

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

Имеется возможность работы на низком уровне с памятью, адресами.

Высокая совместимость с языком Си, позволяющая использовать весь существующий Си-код (код на Си может быть с минимальными переделками скомпилирован компилятором C++; библиотеки, написанные на Си.

2. Техническое задание

Анализ предметной области

Предметной областью данного курсового проекта является деятельность риэлтора. Еще несколько лет назад слово «риэлтор» у нас было мало кому знакомо. Напротив, в сфере недвижимости широко распространены термины агент, брокер, маклер, посредник.

Но это атрибуты многих сфер деятельности. Однако, в мире давно существует профессия -- специалист в области операций с недвижимостью (от англ. realty -недвижимость), по-нашему -- риэлтор. Риэлтор - это частное лицо или представитель агентства недвижимости, который занимается посредническими услугами при таких операциях, как аренда, купли или продажи недвижимости. В данной работе будет рассматриваться лишь аренда жилой недвижимости по городу Ростов-на-Дону. Сегодня практически ни одна сделка с недвижимостью не проходит без участия риэлтора. Риэлтор - это специалист преимущественно умственного труда, которая в большей степени связана с приемом и переработкой информации. Эта профессия очень популярна, тем более, стать агентом по недвижимости может, практически, каждый человек. Риэлтор выступает посредником между продавцом (арендодателем) и покупателем (арендатором), недвижимости, помогает грамотно оформить документы на объект, а также подобрать интересующий. Поэтому для успешной работы ему необходимо найти и продавца и покупателя. Для этого агент осуществляет поиск потенциального продавца квартиры с помощью компьютерной базы данных, находящейся на фирме, с помощью телефона (во время дежурства в офисе фирмы) и из рекламных объявлений в специализированных изданиях. Деятельность риэлтерской фирмы напрямую связана с оперативной обработкой большого объема информации об объектах недвижимости. Риэлтор получает информацию о сдаваемом в аренду имуществе и о требованиях потенциальных арендаторов. Он углубленно изучает спрос и предложения на рынке недвижимости и производит анализ. Практически каждый день риэлтор занимается регистрацией поступающих предложений по передаче объектов на их ознакомительный осмотр.

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

Специалист ведет сведения об арендодателе и сдаваемом объекте, на основе которых реализует подбор жилья по индивидуальным требованиям заказчика (рис.1). Основным показателем профессионализма и надежности риэлтора всегда являлся тот факт, что клиент возвращался к тому агенту, который не просто помог ему в решении «квартирного вопроса», а внимательно и с пониманием относился к его условиям и в результате работы, с которым он совершил выгодную, юридически грамотно оформленную сделку в относительно короткие сроки.

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

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

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

Рисунок 1.- Диаграмма вариантов использования

2.2 Проектирование программного продукта

Просмотр всех объектов недвижимости представляется в виде информации о возможных вариантах сдаваемых объектов (предоставляется информация о районе, количестве комнат и стоимости). Все данные хранятся в текстовом файле. Также есть возможность добавления новых объектов недвижимости в общий список, просмотра всех объектов и поиск необходимой недвижимости по предпочтению арендатора (по районам города Ростов-на-Дону).

2.2.1 Функциональные требования

В данной программе реализованы следующие компоненты (основной набор операций):

- добавление новых объектов недвижимости;

- просмотр всего списка вариантов недвижимости;

- подбор объектов недвижимости по району.

2.2.2 Требования к интерфейсу

Интерфейс обеспечивает следующие возможности:

ввод данных с клавиатуры;

выполнение всех операций, перечисленных в «Функциональных возможностях»;

не допускается обработка исходных данных, противоречащих логике работы программы путем вывода сообщений об ошибке.

3. Рабочий проект

3.1 Общие сведения

Среда функционирования:

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

Microsoft Visual Studio объединяет в себе огромное количество функций, позволяющих осуществлять разработки для Windows всех версий, в том числе и 8, Интернета, SharePoint, различных мобильных устройств и облачных технологий. В Visual Studio реализуется новая среда разработчика, благодаря которой создавать приложения стало проще. Microsoft Visual Studio - это обновленная и упрощенная программная среда, для которой характерна высокая производительность, причем она не зависит от особенностей оборудования.

Каждая новая версия программы состоит из новейших инструментов и технологий, позволяющих разрабатывать приложения с учетом особенностей и положительных моментов современных платформ. Например, Visual Studio 2013 может поддерживать более ранние версии, в том числе Windows XP и Windows Server 2003. При этом разработчикам открыта дорога к созданию новых и модернизации уже существующих приложений, предназначенных для ранних версий ОС Windows. Стоит отметить, что в процессе использования поддерживаемых системой вариантов исходные файлы, проекты и решения в программе Visual Studio будут работоспособными, но исходный код может нуждаться в изменениях. Visual Studio Ultimate 2013 представляет собой передовую программу, которая дает возможность любым по размеру командам осуществлять проектирование и создание привлекательных приложений. Благодаря инструментам гибкого планирования можно внедрять методы последовательной разработки и применяться гибкие методологии в темпе, удобном для пользователя. С помощью расширенных средств моделирования, обнаружения и проектирования можно максимально полно описать систему, которая позволит наиболее удачно реализовать конкретную концепцию архитектуры.

Запуск программы:

Для запуска программы необходимо либо правой кнопкой мыши кликнуть по ярлыку программы Microsoft Visual Studio 2013 (рис.2) и выбрать «Открыть», либо дважды кликнуть по нему левой кнопкой мыши.

Рисунок 2-Ярлык программы Microsoft Visual Studio 2013

В ответ на это действие откроется начальная страница (рис.3).

Рисунок 3 - Начальная страница программы Microsoft Visual Studio 2013

Далее нажимаем «Создать проект» и появляется следующее окно, которое показано на рисунке 4.

Рисунок 4 - Создание проекта

Даём имя новому проекту «Курсовой проект» и указываем его расположение. В меню слева выбираем «Visual C++», затем «Win32». Посередине окна выбираем «Консольное приложение Win32». Нажимаем «ок».

В следующем окне нажимаем «Далее», в «Мастере приложений Win32» (рис.5) выделяем пункт «Пустой проект» и нажимаем «Готово» (рис.6).

Рисунок 5 - Мастер приложений Win32

Рисунок 6 - Мастер приложений Win32 -Параметры приложения

После этого открывается окно (рис.7). В обозревателе решений создаем файл «nedviz.h» в «Заголовочных файлах» (рис.8) и файлы «nedviz.cpp» и «proekt.cpp» в «Файлах исходного кода» (рис.9, рис.10).

Рисунок 7 - Окно создания проекта

Рисунок 8 - Добавление нового элемента - Заголовочный файл (nedviz.h)

Рисунок 9 - Добавление нового элемента -Файл С++ (nedviz.cpp)

Рисунок 10 - Добавление нового элемента -Файл С++ (proekt.cpp)

Далее начинаем работать над программным кодом в среде программирования Visual Studio 2013 (рис.11)

Рисунок 11 - Среда программирования Visual Studio 2013

Способ инсталляции:

Копирование исполняемого файла программы на нужный носитель.

Требования к По и к ТО:

Поддерживаемые операционные системы:

Windows 8.1 (x86 и x64)

Windows 8 (x86 и x64)

Windows 7 SP1 (x86 и x64)

Windows Server 2012 R2 (x64)

Windows Server 2012 (x64)

Windows Server 2008 R2 SP1 (x64)

Требования к оборудованию:

Процессор с частотой 1,6 ГГц или более мощный

1 ГБ ОЗУ (1,5 ГБ при использовании виртуальной машины)

20 ГБ свободного дискового пространства

Жесткий диск со скоростью вращения 5400 об/мин

Видеоадаптер с поддержкой DirectX 9; минимально допустимое разрешение экрана -- 1024 x 768

Дополнительные требования:

Internet Explorer 10

Обязательна установка KB2883200 (доступно через Центр обновления Windows)

Для разработки под Windows Phone:

Разработка для Windows Phone 8.0 требует наличия Windows 8.1 (64-разрядной версии) или более новой версии

Разработка для Windows Phone 8.1 требует наличия Windows 8.1 (32-разрядной версии) или более новой версии

Для эмуляторов Windows Phone требуется выпуск Windows 8.1 Профессиональная (64-разрядная версия) или выше, а также процессор с поддержкой Client Hyper-V и преобразования адресов второго уровня (SLAT)

Если ваш компьютер отвечает требованиям к операционной системе, но не соответствует требованиям к оборудованию для работы с эмуляторами Windows Phone, вы сможете установить и запустить средства разработки для Windows Phone. Однако эмуляторы Windows Phone 8.0 и 8.1 не будут функционировать, и вам понадобится устройство для развертывания и тестирования приложений Windows Phone.

3.2 Укрупненный алгоритм

3.2.1 Классы

В данном проекте реализован класс:

nedviz{};

В структуру класса входят следующие переменные:

int id - порядковый номер;

string raion- район города Ростов-на-Дону;

int kol_komnat- количество комнат;

int price- стоимость объекта(в рублях);

Методы, рассмотренные в проекте:

void show ();// метод вывода информации на экран

void dobavlenie();// метод заполнения новыми данными

void poisk(string region);// метод поиска данных

izFile();// метод считывания/записи информации из/на файл (-а)

Конструкторы:

nedviz(){}//пустой конструктор

nedviz(int id, string raion, int kol_komnat, int price)// содержательный конструктор

Деструктор:

~nedviz();

3.2.2 Модули

Исходный текст программы размещается в 3 модулях:

nedviz.h - заголовочный файл

nedviz.cpp - файл класса nedviz, используется для описания методов

proekt.cpp - основной файл класса nedviz с методом main()

3.2.3 Схема алгоритма

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

Рисунок 12- Алгоритм «Меню»

Рисунок 13- Алгоритм «Добавление объектов недвижимости»

Рисунок 14- Алгоритм «Просмотр объектов недвижимости»

Рисунок 15- Алгоритм «Поиск объектов недвижимости по району»

3.3 Руководства пользователя

Для того чтобы воспользоваться реализацией данного проекта, необходимо запустить проект, нажав клавишу «Начать отладку» или F5. Запустится меню следующего вида (рис.16).

Рисунок 16- Меню

Выбираем первый пункт меню «Добавление объектов недвижимости» и заполняем необходимые поля для добавления (рис.17), а именно:

порядковый номер;

район города;

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

стоимость квартиры.

По условиям данной программы можно добавить не более 20 объектов недвижимости. Все внесенные данные хранятся в файле («Nedvizimost.txt»).

Рисунок 17- «Добавление объектов недвижимости»

На следующем этапе можно выбрать пункт меню «Просмотр объектов недвижимости» (рис.18).

Рисунок 18- «Просмотр объектов недвижимости»

Если пользователю необходимо найти квартиру в конкретном районе города (например, в Ворошиловском), тогда пункт «Поиск по району» с легкостью подберет необходимую квартиру. Для этого необходимо ввести интересующий район города (рис.19)

Рисунок 19- «Поиск по району»

Если пользователь выбрал не существующий вариант пункта меню, то появится сообщение вида: «Такого пункта меню нет!!!!!». И вновь, для повторного набора, внизу отобразятся пункты меню (рис.20).

Рисунок 20- Выбор не существующего варианта меню

Чтобы выйти из программы, необходимо выбрать пункт меню «Выход из программы» (рис.21).

Рисунок 21- «Выход из программы»

Заключение

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

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

Библиографический список

1. Реферат по информационным технологиям «C++», 2004. URL: http://revolution.allbest.ru/programming/00000757_0.html

2. Основные понятия структурного программирования. Модульность программ. URL: http://it.kgsu.ru/Otladka/otl_0045.html

3. С++. Достоинства языка. URL: http://new-mega-programmer.narod2.ru/

4. Майерс Г. Надежность программного обеспечения. - М.: Мир, 1980.

5. Майерс Г. Искусство тестирования программ. - М.: Финансы и стати-стика, 1982.

6. Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. - СПб. : Линk, 2008.

7. Дэвид Р. Мюссер, Жилмер Дж. Дердж, Атул Сейни « C++ и STL. Справочное руководство» 2-е издание, 2010

Приложение А

Программные коды файлов программы

А.1- Программный код заголовочного файла nedviz.h

#pragma once //предпроцессорная директива;

#include<string>//библиотека, отвечающая за тип данных string;

#include <iostream>//библиотека ввода/вывода данных;

using namespace std; //пространство имен;

class nedviz//класс nedviz;

{ //начало описания класса;

private: //закрытые свойства и методы класса;

int id;

string raion; //свойства класса;

int kol_komnat;

int price;

nedviz izFile();//инкапсулированный метод считывания информации из текстового файла;

nedviz *mynedvizimost;

public: //открытые свойства и методы класса;

/*nedviz*mynedvizimost;*/

nedviz(void); //пустой конструктор;

nedviz(int id, string raion, int kol_komnat, int price); //содержательный конструктор;

~nedviz(void); //пустой деструктор;

void show (); //метод вывода данных на экран;

void dobavlenie(); //метод добавление данных;

void poisk(string region); //метод поиска объкта недвижимости по району

};//конец описания класса;

А.2- Программный код С++ файла nedviz.срр

#include"nedviz.h"//обращение к заголовочному файлу;

#include <iostream>//библиотека ввода/вывода данных;

#include <string>

#include <Windows.h>//содержит множество определений типовых данных, макросов, констант и т.д.;

#include <fstream>//библиотека для чтения и записи данных;

using namespace std//пространство имен;

nedviz::~nedviz()

{

//cout << "Деструктор\n";

};

nedviz::nedviz(int id, string raion, int kol_komnat, int price) //реализация содержательно конструктора;

{

this->id = id;

this->raion = raion;

this->kol_komnat = kol_komnat;

this->price = price;

mynedvizimost = new nedviz[2];

}

nedviz::nedviz()//конструктор по умолчанию;

{

//cout << "Конструктор\n";

this->id = 0;

this->raion = ""; //инициализация свойств класса;

this->kol_komnat = 0;

this->price =0;

}

nedviz nedviz::izFile()

{

mynedvizimost = new nedviz[20]; //инициализация переменной mynedvizimost в памяти (размер массива= 20);

SetConsoleCP(1251); //устанавливает кодировку ввода из консоли;

SetConsoleOutputCP(1251); //устанавливает кодировку вывода на консоль;

int i = 0;

ifstream fin("Nedvizimost.txt",ios::in); //чтение из файла;

while (!fin.eof())//читает файл до конца;

{

fin >> mynedvizimost[i].id >> mynedvizimost[i].raion >> mynedvizimost[i].kol_komnat >> mynedvizimost[i].price; //считывание строки из файла;

i++;

}

fin.close();//закрытие потока;

return *mynedvizimost; //возвращение функции;

}

void nedviz::show()

{

mynedvizimost = new nedviz[20];

*mynedvizimost = izFile();

cout << "__________________________________________________\n";

cout << "Номер"<<" "<< "Район" << " "<< "Кол-во_комнат" << " " << "Стоимость,руб." <<" " << endl<< endl;

for (int i = 0; i < 20; i++)

cout << mynedvizimost[i].id << "\t" << mynedvizimost[i].raion << "\t\t" << mynedvizimost[i].kol_komnat << "\t\t" << mynedvizimost[i].price << endl;

cout << "_____________________________________________\n";

}

void nedviz::dobavlenie()

{

mynedvizimost = new nedviz[20];

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

ofstream fout("Nedvizimost.txt", ios::app);

for (int i = 0; i < 20; i++)

{

cout << "Введите порядковый номер:" << endl;

cin >> mynedvizimost[i].id;

fout << mynedvizimost[i].id << " ";

cout << "Введите район города:" << endl;

cin >> mynedvizimost[i].raion;

fout << mynedvizimost[i].raion << " ";

cout << "Введите количество комнат(1,2,3,4):" << endl;

cin >> mynedvizimost[i].kol_komnat;

fout << mynedvizimost[i].kol_komnat << " ";

cout << "Введите цену(целое число):" << endl;

cin >> mynedvizimost[i].price;

fout << mynedvizimost[i].price << "\n"<< endl;

}

fout.close();

}

void nedviz::poisk(string region)

{

mynedvizimost = new nedviz[20];

*mynedvizimost = izFile();

cout << "_______________________________________________\n";

cout <<"Район" << " " << "Кол-во комнат" << " " << "Стоимость,руб." << endl << endl;

for (int i = 0; i < 20; i++)

{

if (mynedvizimost[i].raion == region)

{

cout <<mynedvizimost[i].raion << " " << mynedvizimost[i].kol_komnat << " " << mynedvizimost[i].price << endl;

}

}

cout << "_______________________________________________\n";

}

A.3- Программный код файла proekt.cpp

#include"nedviz.h"

#include <iostream>

#include <string>

#include <Windows.h>

int main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int vybor;

cout << "Выберите пункт меню\n";

metka: cout << "1 - добавление объектов недвижимости\n2 - просмотр объектов недвижимости\n3 - поиск по району\n0 - выход из программы\n";

cin >> vybor;

nedviz Mynedviz;

switch (vybor)

{

case 1:

{

Mynedviz.dobavlenie();

goto metka;

break;

}

case 2:

{

Mynedviz.show();

goto metka;

break;

}

case 3:

{

string reg;

cout << "Введите район\n";

cin >> reg;

Mynedviz.poisk(reg);

goto metka;

}

case 0:

{

system("pause");

return 0;

}

default:

{cout << "Такого пункта меню нет!!!!!\n";

goto metka;

break;

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Разработка базы данных, которая выдаёт информацию о клиентах фирмы, объектах выставленных в данный момент на продажу, а также о проданной недвижимости. Описание жизненного цикла программного продукта. Описание программы, инструкция пользователю.

    дипломная работа [1,3 M], добавлен 07.01.2009

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

    курсовая работа [821,4 K], добавлен 28.12.2012

  • Организация удобного интерфейса пользователя при работе с данными. Создание форм для ввода, редактирования и поиска информации. Проектирование вычисляемых полей на форме с помощью СУБД Access. Добавление управляющих объектов. Режимы работы с формой.

    контрольная работа [3,2 M], добавлен 29.06.2015

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

    дипломная работа [519,0 K], добавлен 19.06.2015

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

    дипломная работа [2,4 M], добавлен 27.10.2017

  • Анализ существующих решений по автоматизации предметной области. Методология проектирования информационной системы агентства недвижимости. Спецификация и аттестация требований. Проектирование пользовательского интерфейса. Обоснование выбора платформы.

    курсовая работа [412,8 K], добавлен 10.02.2013

  • Методы обработки информации при решении прикладных задач. Математическая модель задачи. Блок-схема алгоритма программы. Компоненты, которые используются для работы в программе: элементы интерфейса; процедуры; операторы. Текст программы с пояснениями.

    курсовая работа [954,0 K], добавлен 07.01.2011

  • Реализация информационной системы для компаний по продаже недвижимости. Обзор методов решения поставленной задачи. Описание программы для программиста. Диаграмма классов: FlatBase, Flat, House, Commercial, Human, ContH. Способы и алгоритмы решения задачи.

    курсовая работа [1,6 M], добавлен 18.08.2014

  • Разработка программы, моделирующей работу библиотеки. Функция поиска по базе книг и граждан, записанных в библиотеку. Поиск книги. Добавление или удаление абонента. Текст программы на С#. Просмотр списка должников. Запись книги на абонента в программе.

    курсовая работа [426,9 K], добавлен 20.02.2014

  • Создание базы данных для обеспечения автоматизации работы клуба собаководства. Определение информационных объектов и функциональных зависимостей. Информационно-логическая и даталогическая модели. Описание алгоритма работы БД. Отладка работы программы.

    контрольная работа [1008,0 K], добавлен 08.06.2014

  • Информация о журнале "Элитная недвижимость Сибири и зарубежья". Проектирование и построение автоматизированной информационной системы "Поиск объекта недвижимости" для журнала. Расчет экономической эффективности созданной АИС после ее реализации.

    контрольная работа [31,3 K], добавлен 23.06.2011

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

    курсовая работа [3,1 M], добавлен 13.02.2012

  • Сущность MS Access - одной из наиболее известных систем управления базами данных, где информация хранится в виде таблиц. Создание реляционной базы данных средствами Microsoft Access, содержащей сведения о предлагаемых квартирах на рынке недвижимости.

    курсовая работа [997,9 K], добавлен 09.06.2011

  • Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.

    курсовая работа [721,4 K], добавлен 10.11.2010

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

    дипломная работа [1,5 M], добавлен 20.06.2012

  • Разработка программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран заданную информацию. Типы блок-схем и их использование при написании программы. Описание входных данных и результат вычислений, листинг программы.

    курсовая работа [680,3 K], добавлен 03.08.2009

  • Создание стека с помощью языка программирования C#. Блок-схема работы алгоритма программы, ее интерфейс. Добавление, удаление и вывод элементов в стеке. Реализация методов "Начало-конец" (переприсвоение индексов) и "Приоритет" (сортировка по возрастанию).

    лабораторная работа [924,7 K], добавлен 26.12.2014

  • Графическая схема алгоритма выполнения программы определения запасов сырья. Решение задачи с помощью программы MS Excel. Разработка макроса для построения диаграммы. Использование интерфейса программы для работы с таблицей. Разработка базы данных.

    курсовая работа [1,2 M], добавлен 24.04.2014

  • Создание программы на языке программирования С#, которая проверяет наличие в матрице хотя бы одного столбца, содержащего положительный элемент, поиск его номера. Упорядочивание его элементов по возрастанию. Листинг программы и инструкция по работе с ней.

    курсовая работа [1,9 M], добавлен 28.05.2014

  • Создание и использование динамически загружаемых библиотек в Delphi. Преимущества использования, создание простейшей DLL. Статическая и динамическая загрузка DLL, обмен данными с ней. Создание программы, работающей с базой данных клиентов кардиоцентра.

    курсовая работа [425,2 K], добавлен 07.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.