Программа, которая управляет картотекой агентства недвижимости
Новосибирская
государственная
академия водного транспорта
Кафедра
информационных систем
Курсовая
работа
по
дисциплине "Технология
программирования"
Вариант
№ 5
| Выполнил | Проверил |
| студент Нигматуллин Н.Р. | преподаватель Морозов Ю.В. |
| группа ИТ-21а | |
| Дата сдачи ___________________ | |
| Оценка ______________________ | |
| Подпись ________________________ |
2011
Содержание
Формулировка задания…………………………
ИТ в риэлторском
бизнесе……………………………………………………………
Описание классов……………………………………
Программная реализация
классов …………………………………………………………
Описание алгоритмов……………………………
Программная реализация
задач………..……………………………………………………
Демонстрационная
программа………………………………………………………
Список литературы…………………………………
Составить программу, которая управляет картотекой агентства недвижимости:
Сведения о каждой квартире содержат:
- Количество комнат;
- Этаж
- Площадь
- Адрес
Программа должна решать следующие задачи:
- Начальное формирование данных обо всех продаваемых квартирах в виде списка.
- Добавление новой квартиры
- Поиск подходящей квартиры по заданному количеству комнат, этажу и площади. Количество комнат и этаж найденной квартиры должны точно совпадать с требуемыми. Площадь найденной квартиры от требуемой площади должна отличаться не более чем на 10%. Если квартира найдена, сведения о ней должны печататься на экране, в противном случае выдается сообщение об отсутствии подходящего варианта, и заявка с количеством комнат, этажом и площадью включается в список заявок.
Информационные
системы в риэлторском
бизнесе. Возможности
использования.
В отличие от
центральных регионов, информатизация
и «интернетизация» в Уфе
Если говорить
о вышеуказанных сферах
В агентствах
с первым типом технологии
клиент привязан к конкретному
специалисту, поэтому течение сделки прослеживается
легко. Но существуют еще неявные и неафишируемые
причины неиспользования комплексных
информационных систем, которые обтекаемо
называют тайной клиента и тайной сделки.
Если говорить откровенно, то многие клиенты
склонны не предавать гласности цены своих
сделок, так вообще не афишировать свои
сделки с недвижимостью. Другой вопрос
– это существующее налогообложение и
регулирование в связи с этим финансовых
потоков. Системы управления базами объектов
не интегрируются с CRM – системами. Как
правило, базам сопутствует специальная
система документооборота. Но она очень
ограничена в использовании, так как выполняет,
прежде всего, технические функции – обеспечивает
жизненный цикл информации в базе, используются
для аналитики динамики базы и является
частью общего документооборота. Интернет-порталы,
при их продуманном создании, должны обеспечить
информационные потребности сразу 4 категорий
пользователей: специалистов по недвижимости,
потенциальных покупателей недвижимости,
потенциальных клиентов агентства по
различным услугам и руководителей и собственников
бизнеса. Можно также выделить и 5 категорию
пользователей – читатели, интересующиеся
процессами в сфере недвижимости, новостями,
тенденциям и перспективами. В какой-то
степени это также могут быть потенциальные
клиенты в будущем. Наша практика показала,
что создание такой собственной ИТ-системы,
работающей ОТ Интернет-портала, обходится
и дешевле, и в итоге функциональней и
эффективнее, чем попытка внедрения и
«подгонки» существующих систем, выбор
которых очень ограничен.
Почему не используются
другие типы информационных
Дальнейшее
развитие. Прочие ИТ-сервисы.
Агентства недвижимости
в своей работе применяют
К сожалению,
многие, даже среднего размера компании,
по сравнению с другими видами бизнеса
невелики, и не могут позволить себе к
установке полноценное программное обеспечение
и многофункциональную связь для Call-центров.
Однако для компании, даже работающий
без применения «особонавороченных» ИТ-систем
и оборудования, Call-центр значительно
повышает эффективность обработки запросов
потенциальных клиентов в компанию. С
другой стороны, активное продвижение
услуг Call-центра на рынке привлекает много
потенциальных клиентов, которым, во первых,
привычны звонки « в справочную», во-вторых
тех, кто сначала предпочитает собрать
и обработать максимум информации без
посещения агентств.
Кризис «убивает»
агентства недвижимости. Сеть Агентств
Недвижимости «ЭКСПЕРТ»- одна
из немногих выжившая лишь
благодаря своевременному, даже заблаговременному
внедрению информационных технологий.
Также благодаря ИТ мы стали всероссийской
компанией, несмотря на большую территориальную
отдаленность офисов. Поэтому внимание
должно уделяться дальнейшему совершенствованию
информационных сервисов как для существующих
и потенциальных клиентов, так и для работы
сотрудников.
Вообще, перспективы,
пусть даже и являющиеся «
Нельзя здесь
не отметить и кризисные
Особенности ИТ-сервиса.
Сервисное обеспечение
ИТ в недвижимости
Описание
классов находящихся
в составе программы
Файл: flat.h - класс описания элементов списка квартир
#pragma once
class flat
{
public:
flat(void);
~flat(void);
flat(int r1, int f1, float a1, char* ad);
flat(flat& A1);
void SetNext(flat* Next1);
flat* GetNext(void);
void Input(void);
void Print(void);
int GetRooms(void);
int GetFloor(void);
float GetArea(void);
char* GetAdress(void);
private:
// Количество комнат
int rooms;
// Этаж
int floor;
// Площадь квартиры
float area;
// Адрес
char* address;
// Указатель на следующий элемент
flat* Next;
};
Файл: FlatList.h – класс списка квартир
#pragma once
#include "flat.h"
class FlatList
{
public:
FlatList(void); /
~FlatList(void);
private:
flat* Start; // Указатель на начало списка
flat* current; // Текущий элемент
int number; // Количество элементов в списке
public:
FlatList(int n1);
FlatList* operator++(int a); // Добавление нового элемента в начало списка
void Print(void); // Печать списка
flat* Find(int r1, int f1, float a1); // Поиск квартиры по заданным параметрам
void Print(flat* a1);
};
Файл
– request.h – класс
описания элементов
списка заявок
#pragma once
class request
{
public:
request(void);
~request(void);
request(int rooms_tmp, int floor_tmp, float area_tmp);
void SetNext(request* Next_tmp);
request* GetNext(void);
void SetRooms(int a1);
void SetFloor(int f1);
void SetArea(float a1);
request* Next;
void Print(void);
private:
int rooms;
int floor;
float area;
};
Файл
– RequestList.h – Класс
списка заявок
#pragma once
#include "request.h"
class RequestList
{
public:
RequestList(void);
~RequestList(void);
RequestList* AddNew(int rooms_tmp, int floor_tmp, float area_tmp);
void Print(void);
private:
int number;
request* current;
request* Start;
};
Файл – flat.cpp – Полное описание
#include "flat.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
flat::flat(void){ //Конструктор по умолчанию
rooms=0;
floor=0;
area=0;
address=NULL;
Next=NULL;
}
flat::~flat(void) //Деструктор по умолчанию
{
}
flat::flat(int r1, int f1, float a1, char* ad) // Конструктор с параметрами
{
rooms=r1;
floor=f1;
area=a1;
address=new char[strlen(ad)];
strcpy(address,ad);
}
flat::flat(flat& A1) //Конструктор копирования
{
rooms=A1.rooms;
floor=A1.floor;
area=A1.area;
address=new char[strlen(A1.address)];
strcpy(address,A1.
}
void flat::SetNext(flat* Next1) //Назначение адреса следующего элемента
{
Next=Next1;
}
flat* flat::GetNext(void) //Извлечение адреса следующего элемента
{
return Next;
}
void flat::Input(void) //Ввод с клавиатуры
{
char buf[128];
printf("\n______________
printf("\nEnter the number of rooms: ");
scanf("%d",&rooms);
printf("\nEnter the number of floor: ");
scanf("%d",&floor);
printf("\nEnter the area of this appartment: ");
scanf("%f",&area);
printf("\nEnter the street, where appartment situated: " );
scanf("%s",buf);
printf("\n______________
address=new char[strlen(buf)];
strcpy(address,buf);
}
void flat::Print(void) //Печать данных элемента
{
printf("\n______________
printf("\nRooms: %d\nFloor: %d\nArea: %.2f\nAddres: %s", rooms, floor, area, address );
printf("\n______________
}
int flat::GetRooms(void) // Извлечение переменной rooms
{
return rooms;
}
int flat::GetFloor(void) // Извлечение переменной floor
{
return floor;
}
float flat::GetArea(void) // Извлечение переменной area
{
return area;
}
char* flat::GetAdress(void) // Извлечение переменной address
{
return address;
}
Файл
FlatList.cpp – полное
описнаие класса списка
квартир
#include "FlatList.h"
#include "flat.h"
#include "request.h"
#include "RequestList.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
FlatList::FlatList(void)
{
current=NULL;
Start=NULL;
number=0;
}
FlatList::~FlatList(void)
{
}
FlatList::FlatList(int n1)
{
flat* current;
flat* temp;
number=n1;
for(int i=0;i<number;i++)
{
temp=new flat;
temp->Input(
if(i==
else
}
}
// Добавление нового элемента в начало списка
FlatList* FlatList::operator++(int a)
{
flat* temp; //Новый элемент типа PersonElem
temp=new flat; //Выделение памяти
temp->Input(); //Ввод данных
temp->SetNext(Start); //
Start=temp; //
number++; //Счётчик количества элементов
return this;
}
// Печать списка
void FlatList::Print(void)
{
flat*
current;
for(current=Start;
{
}
}
// Поиск квартиры по заданным параметрам
flat* FlatList::Find(int r1, int f1, float a1)
{
flat* temp;
int r,f;
float a;
temp=Start;
//Ниже реализован цикл, проверяющий каждый элемент списка, и возвращающий //указатель на нужный элемент.
//Если элемент с заданными параметрами не найден, то возвращается значение - NULL
for(temp=Start;temp!=
{
r=temp->
f=temp->
a=temp->
if(a1<1.1*a&&a1>0.
{
}
}
return
NULL;
}
//____________________________
void FlatList::Print(flat* a1)
{
flat* current;
current=a1;
current->Print();
}
Файл – request.cpp – Полное описание элемента списка элементов
#include "request.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
request::request(void)
{
Next=NULL;
rooms=0;
floor=0;
area=0;
}
request::~request(void)
{
}
request::request(int rooms_tmp, int floor_tmp, float area_tmp)
{
rooms=rooms_tmp;
floor=floor_tmp;
area=area_tmp;
}
void request::SetNext(request* Next_tmp)
{