Автор работы: Пользователь скрыл имя, 19 Декабря 2011 в 19:27, курсовая работа
Начальное формирование данных обо всех продаваемых квартирах в виде списка. Описание классов, находящихся в составе программы. Описание алгоритмов для каждой задачи относящиейся к данному варианту (словесное и в виде блок схемы).
Формулировка задания……………………………………………………………………………………………..…3
ИТ в риэлторском бизнесе…………………………………………………………………………….………..…...4
Описание классов…………………………………………………………………………………………………..….…8
Программная реализация классов …………………………………………………………………………….12
Описание алгоритмов……………………………………………………………………………...……………..….19
Программная реализация задач………..……………………………………………………………………….21
Демонстрационная программа………………………………………………………………………………....24
Список литературы………………………………………………………………………………………………………
Next=Next_tmp;
}
request* request::GetNext(void)
{
return Next;
}
void request::SetRooms(int a1)
{
rooms=a1;
}
void request::SetFloor(int f1)
{
floor=f1;
}
void request::SetArea(float a1)
{
area=a1;
}
void request::Print(void)
{
printf("\n______________
printf("\nRooms: %d\nFloor: %d\nArea: %.2f\n", rooms, floor, area);
printf("\n______________
}
Файл – RequestList.cpp – полное описание функций списка заявок
#include "RequestList.h"
#include "request.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
RequestList::RequestList(void)
{
number=0;
current=NULL;
Start=NULL;
}
RequestList::~RequestList(void
{
}
RequestList* RequestList::AddNew(int rooms_tmp, int floor_tmp, float area_tmp)
{
request* temp;
temp=new request;
temp->SetRooms(rooms_
temp->SetFloor(floor_
temp->SetArea(area_tmp);
temp->SetNext(Start);
Start=temp;
number++;
return this;
}
void RequestList::Print(void)
{
request* current;
for(current=Start;
{
curren
}
}
Файл
– index.cpp – Главная
функция
#include "flat.h"
#include "RequestList.h"
#include "request.h"
#include "FlatList.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
void main(void){
RequestList* RList=NULL;
flat* A1;
int num_of_flats;
int r1,f1;
float a1;
int cmd;
char buf[32];
int sw=1,l;
//Начальное заполнение
списка________________________
printf("WELCOME!\n\n");
printf("Primary fill up of flat list:");
printf("\n====================
printf("\n\nEnter the number
of flats in new FLATLIST: ");
//Запрос количества
элементов (квартир)
do{
scanf("%d",
&num_of_flats); //Запрос количества элементов
(квартир)
if(num_of_flats<=0) /
{
printf("\nNumber of flats is must be positive and don't equal zero\n");
l=1;
}
else
{
l=0;
}
}while(l==1);
FlatList list(num_of_flats); //Вызов
конструктора с параметром(количество
квартир)
printf("\nDONE!\n");
printf("\n====================
//____________________________
//__________________Описание
комманд_______________________
printf("\n\nHELP!!!");
printf("\n==============
printf("addnew\t\t Add new flat to the FLATLIST\n");
printf("print\t\t Print the FLATLIST\n");
printf("printR\t\t Print the REQUESTLIST\n");
printf("find\t\t Find Flat\n");
printf("help\t\t View HELP\n");
printf("exit\t\t End the programm\n");
printf("\n==============
//____________________________
do{
printf("\n\nEnter command: ");
scanf("%s",buf);
if(stricmp("
if(stricmp("find",
if(stricmp("print"
if(stricmp("
if(stricmp("help",
if(stricmp("exit",
if(stricmp("addnew",buf)==0||
{
}
else
{
cmd=7;
}
switch
(cmd){
case 1:list++;
break;
case 2:
printf("\n==
printf("\
scanf("%d",&
printf("
scanf("%d",&
printf("
scanf("%f", &a1);
printf("\n__
A1=list.
if(A1==NULL)
{
printf("\
RList=new RequestList;
RList->
}
else
{
printf("\
A1->Print();
} printf("\n=======
break;
case 3:
list.Print()
break;
//Печать списка заявок. Если списко пуст выдется сообщение
case 4:
if(RList==
{
}
else
{
}
break;
case 5:
printf("\n==
printf("
printf("
printf("
printf("
printf("
printf("
printf("\n==
break;
case 6: return; //Выход
из программы
default:
printf("\n\nWRONG COMMAND! ENTER
THE COMMAND AGAIN, PLEASE!\n\n");
break;
}
}while(sw==1); //Цикл повторяется бесконечно, так как нету функции изменяющей
//переменную sw. Выход реализуется
через return.
} //последняя
скобка
Описание
алгоритмов для каждой
задачи относящиейся
к данному варианту (словесное
и в виде блок схемы)
В задании были поставлены следующие задачи:
-Начальное формирование данных обо всех продаваемых квартирах в виде списка.
-Добавление новой квартиры
-Поиск подходящей квартиры
по заданному количеству комнат, этажу
и площади. Количество комнат и этаж найденной
квартиры должны точно совпадать с требуемыми.
Площадь найденной квартиры от требуемой
площади должна отличаться не более чем
на 10%. Если квартира найдена, сведения
о ней должны печататься на экране, в противном
случае выдается сообщение об отсутствии
подходящего варианта, и заявка с количеством
комнат, этажом и площадью включается
в список заявок.
1.
Запрашивается количество элементов списка - n. Затем введен цикл, который повторяется n раз, внутри которого вызывается функция Input();
2.
Создается новый
элемент типа flat. Затем пользователя
приглашают ввести данные о квартире(количество
комнат, этаж, площадь и адрес). Далее для
нового элемента назначаем указатель
на следующий элемент – на тот который
стоял в начале. После этого в списке назначаем
новый элемент как первый.
3.
Пользователю предлагается ввести желаемые параметры для поиска подходящей квартиры. Затем проверяется каждый элемент списка квартир, и если находится подходящий вариант, то на экран выводится информация о квартире. Если же квартира не найдена, то создается новый элемент, и включается в список заявок RequestList.
Площадь квартиры отличается
не более чем на 10 процентов от введенных
данных. Реализуется при помощи умножения
на 0.9 и на 1.1 и внедрения условия, проверяющего
чтобы заданное значение попадало в промежуток
между этими множителями.
Программная реализация каждой задачи
1. Формирование списка
printf("\n\nEnter the number of flats in new FLATLIST: ")
do{
scanf("%d", &num_of_flats); //Запрос количества элементов (квартир)
if(num_of_flats<=0) //
Информация о работе Программа, которая управляет картотекой агентства недвижимости