Помощь в написании студенческих работ
Антистрессовый сервис

Интеллектуальная система оценки жилой недвижимости

Курсовая Купить готовую Узнать стоимостьмоей работы

Приложение A. Файл lib. h. Приложение F. Файл station. cpp. Испытание для корректных данных ввода. Заключение. Методы класса material. Приложения. Тестирование3. 1. Руководство пользователя. Формат файлов. Проектирование1. 1. Анализ предметной области. Приложение E. Файл station. h. Испытание для некорректных данных ввода. Использованные алгоритмы2. 3. 1. Функции общего назначения. Проектирование… Читать ещё >

Интеллектуальная система оценки жилой недвижимости (реферат, курсовая, диплом, контрольная)

Содержание

  • ЗАДАНИЕ
  • ВВЕДЕНИЕ
  • 1. Проектирование
    • 1. 1. Анализ предметной области
    • 1. 2. Диаграмма классов
    • 1. 3. Проектирование функциональности
  • 2. Разработка
    • 2. 1. Структура программы
    • 2. 2. Формат файлов
    • 2. 3. Использованные алгоритмы
      • 2. 3. 1. Функции общего назначения
      • 2. 3. 2. Методы класса material
      • 2. 3. 3. Взаимодействие с пользователем
  • 3. Тестирование
    • 3. 1. Руководство пользователя
    • 3. 2. Испытание для корректных данных ввода
    • 3. 3. Испытание для некорректных данных ввода
  • ЗАКЛЮЧЕНИЕ
  • ПРИЛОЖЕНИЯ
  • Приложение A. Файл lib. h
  • Приложение B. Файл lib. cpp
  • Приложение C. Файл material. h
  • Приложение D. Файл material. cpp
  • Приложение E. Файл station. h
  • Приложение F. Файл station. cpp
  • Приложение G. Файл Program. cpp

size ())s += ««; //если последнее считанное слово не пустое, перед ним ставим пробел.*pStream >> word; //считываем слудующее слово}returns; //возвращаем результат}stringreadLine () //считывает текстовые данные с консоли{strings = «»; //строка, в которую будем считыватьwhile (s.size () == 0) getline (cin, s); //считываем, пока длина считаной информации не станет больше нуляreturns; //возвращаем строку со считанными данными}string int_to_text (unsigned x){if (x == 0) return «0» ;string s;char* digits = «123 456 789»; //массив цифрwhile (x){s = digits[x % 10] + s;x /= 10;}return s;}ПриложениеC. Файлmaterial. h#pragma once#include «lib.h» //Горючно-смазочный материалclass material{private:unsigned number; //порядковый номер материалаstringname; //имя материалаboolisFuel; //является ли материал топливомunsigned price; //цена материалаunsigned volume; //объемinline material (){ number = 0, volume = 0; }; //конструктор по умолчаниюpublic: material (string name, bool isFuel, unsigned price); //создаем материалstaticmaterial* next (ifstream* pFile);//считываем с файла следующий материал//выводит информацию о материалеinlinevoidprint (){cout << «POL №» << number << «.t» << name << «t» <<((isFuel)? «Fuel»: «Lubricant») << «.tPrice: «<< price<< «.tVolume: «<< volume << endl;}//сериализуем экземпляр данного материала в текстinline string serialize (){return int_to_text (number) + «» + int_to_text (isFuel) + «» +int_to_text (price) + «» + int_to_text (volume) + «n» + name + «n<br/>n» ;}//Возвращает номер ГСМinline unsigned get_number (){returnnumber;}//Вносит изменения в параметры ГСМinline void change (string newname, unsigned newprice){name = newname, price = newprice;}inline void add (unsigned dV)//увеличивает объем ГСМ на заданную величину{volume += dV;}inline bool substract (unsigned dV)//уменьшает объем ГСМ на заданную величину{bool is = volume >= dV;if (is) volume -= dV;return is;}};ПриложениеD. Файлmaterial. cpp#include «material.h» //создаем горючно-смазочный материалmaterial: material (string name, bool isFuel, unsigned price){number = 0, volume = 0;this->name = name; //передаем имя материалаthis->isFuel = isFuel; //передаем признак того, является ли материал топливомthis->price = price; //передаем цену материалаifstreamfile; //файл с информацией о ГСМfile. open («data.txt»); //открываем файлif (file.is_open ()) //если файл открыт{material* pMaterial = NULL; //указатель на считываемые с файла материалdo{number++;pMaterial = next (&file); //читаем файл до тех пор, пока не дойдем до последнего материалаif (pMaterial)delete pMaterial;} while (pMaterial);file.close (); //закрываем файл}elsenumber = 1; //присваиваем номер данному материалу}material* material: next (ifstream* pFile){material* pMaterial = new material (); //создаем материал*pFile >> pMaterial->number; //считываем номер*pFile >> pMaterial->isFuel; //считываем класс*pFile >> pMaterial->price; //считываем цену*pFile >> pMaterial->volume;//считываем объемpMaterial->name = readLine (pFile); //считываем имяif (pFile->eof ()){delete pMaterial;returnNULL;}returnpMaterial; //возвращаем указатель на материал}ПриложениеE. Файлstation. h#pragma once#include «material.h» class station{public:voidadd (material* pMaterial); //добавляет новый ГСМ на АЗС, указатель на который передается как параметрvoidadd (); //добавляет новый ГСМ на АЗС, считывая с экрана его параметрыvoid show (); //показывает содержимое АЗСvoid change (unsigned num, string name, unsigned price); //вносит изменение в ГСМ под номером numvoidchange (unsignednum); //задает ГСМ под номером num новые параметры, введенные с консолиvoidselect (unsignedvariant); //выполняет заданное действие с ГСМvoiddel (unsignednum); //удаляет ГСМ под номером numvoidadd_volume (unsignednum, unsigneddV); //Прибавляет к ГСМ с номером num объем dVvoidadd_volume (unsignednum); //Прибавляет к ГСМ с номером num объем, считаный с консолиvoid substr_volume (unsigned num, unsigned dV); //Вычитает с ГСМ с номером num объем dVvoidsubstr_volume (unsignednum); //Вычитает с ГСМ с номером num объем, считаный с консоли};ПриложениеF. Файлstation. cpp#include «stdafx.h» #include «station.h» void station: add (material* pMaterial){ofstream file;file.open («data.txt», ios: app); //открываем файл на дополнениеif (file.is_open ()) //если файл открылся{file << pMaterial->serialize (); //добавляем ГСМ в файлfile. close (); //закрываем файл}}void station: add (){cout << «Add new material. n» ;cout << «Input 1 to add a fuel and 0 to add a lubricant: «;bool isFuel;cin >> isFuel;cout << «Input a name: «;string name;name = readLine ();cout << «Input the price of one liter: «;unsigned price;cin >> price;material* pMaterial = new material (name, isFuel, price);add (pMaterial);delete pMaterial;}void station: show (){ifstream file;file.open («data.txt»);if (file.is_open ()){while (!file.eof ()){material* pMaterial = material: next (&file);if (pMaterial){pMaterial->print ();delete pMaterial;}}file.close ();}system («pause»);}void station: change (unsigned num, string name, unsigned price){ifstreamfile;file.open («data.txt»); //Открывает файл с записями на чтениеofstreamtemp;temp.open («temp.txt», ios: app);//открывает вспомогательный файл на дополнениеif (file.is_open () && temp. is_open ())//если файлы открылись{material* pMaterial = NULL;do{pMaterial = material: next (&file); //чяитываем очередную записьif (pMaterial) //если запись считана{//если дошли до записи с нужным номером, изменяем ее свойстваif (pMaterial->get_number () == num) pMaterial->change (name, price);temp << pMaterial->serialize (); //записываем считанную запись в спомагательный файл}} while (pMaterial);file.close (); //закрываем файлыtemp. close ();MoveFileEx («temp.txt» ,» data. txt», MOVEFILE_REPLACE_EXISTING); //перемещаем вспомагательный файл на место основного}cout << «Changes were saved. n» ;system («pause»);}void station: change (unsigned num){cout << «Change a POL №» << num << endl;cout << «Input new name: «;string name = readLine ();cout << «Input new price: «;unsigned price;cin >> price;change (num, name, price);}void station: del (unsigned num){ifstreamfile;file.open («data.txt»); //Открывает файл с записями на чтениеofstreamtemp;temp.open («temp.txt», ios: app);//открывает вспомогательный файл на дополнениеif (file.is_open () && temp. is_open ())//если файлы открылись{material* pMaterial = NULL;do{pMaterial = material: next (&file); //чяитываем очередную записьif (pMaterial) //если запись считана{//если номер записи не равен данному, записываем считанную запись в спомагательный файлif (pMaterial->get_number () ≠ num) temp << pMaterial->serialize (); }} while (pMaterial);file.close (); //закрываем файлыtemp. close ();MoveFileEx («temp.txt» ,» data. txt», MOVEFILE_REPLACE_EXISTING); //перемещаем вспомагательный файл на место основного}cout << «The record was deleted. n» ;system («pause»);}void station: substr_volume (unsigned num, unsigned dV){ifstreamfile;file.open («data.txt»); //Открывает файл с записями на чтениеofstreamtemp;temp.open («temp.txt», ios: app);//открывает вспомогательный файл на дополнениеif (file.is_open () && temp. is_open ())//если файлы открылись{material* pMaterial = NULL;do{pMaterial = material: next (&file); //чяитываем очередную записьif (pMaterial) //если запись считана{//если дошли до записи с нужным номером, изменяем ее свойстваif (pMaterial->get_number () == num) if (!pMaterial->substract (dV)){cout << «There is not enough of this fuel In the stock. n» ;file.close (); //закрываем файлыtemp. close ();FILE* temp = fopen («temp.txt», «w»);fclose (temp);system («pause»);return;}temp << pMaterial->serialize (); //записываем считанную запись в спомагательный файл}} while (pMaterial);file.close (); //закрываем файлыtemp. close ();MoveFileEx («temp.txt» ,» data. txt», MOVEFILE_REPLACE_EXISTING);//перемещаем вспомагательный файл на место основного}cout << «Volume was substracted. n» ;system («pause»);}void station: substr_volume (unsigned num){cout << «Substract the volume of POL №» << num << endl;cout << «Input substracting volume: «;unsigned dV;cin >> dV;substr_volume (num, dV);}void station: add_volume (unsigned num, unsigned dV){ifstreamfile;file.open («data.txt»); //Открывает файл с записями на чтениеofstreamtemp;temp.open («temp.txt», ios: app);//открывает вспомогательный файл на дополнениеif (file.is_open () && temp. is_open ())//если файлы открылись{material* pMaterial = NULL;do{pMaterial = material: next (&file); //чяитываем очередную записьif (pMaterial) //если запись считана{//если дошли до записи с нужным номером, изменяем ее свойстваif (pMaterial->get_number () == num) pMaterial->add (dV);temp << pMaterial->serialize (); //записываем считанную запись в спомагательный файл}} while (pMaterial);file.close (); //закрываем файлыtemp. close ();MoveFileEx («temp.txt» ,» data. txt», MOVEFILE_REPLACE_EXISTING); //перемещаем вспомагательный файл на место основного}cout << «Volume was added. n» ;system («pause»);}void station: add_volume (unsigned num){cout << «Adding volume to POL №» << num << endl;cout << «Input adding volume: «;unsigned dV;cin >> dV;add_volume (num, dV);}void station: select (unsigned variant){cout << «Input the number of POL: «;unsigned number;cin >> number;switch (variant){case 1: change (number); break;case 2: del (number); break;case 3: add_volume (number); break;case 4: substr_volume (number); break;}}ПриложениеG. ФайлProgram. cpp#include «station.h» int main (){int answer;station AZS;do{system («cls»);cout << «Select a variant. n» ;cout << «1 — add new Pol. n» ;cout << «2 — see all POLn» ;cout << «3 — change parameters of POL. n» ;cout << «4 — delete POL. n» ;cout << «5 — add some volume of POL. n» ;cout << «6 — substract some volume of POL. n» ;cout << «0 — exitn» ;cin >> answer;switch (answer){case 1: AZS. add (); break;case 2: AZS. show (); break;case 3: AZS. select (1); break;case 4: AZS. select (2); break;case 5: AZS. select (3); break;case 6: AZS. select (4); break;}} while (answer ≠ 0);return 0;}.

Показать весь текст
Заполнить форму текущей работой
Купить готовую работу

ИЛИ