Библиографический список
Реферат по информационным технологиям «C++», 2004. URL: http://revolution.allbest.ru/programming/00000757_0.html
Основные понятия структурного программирования. Модульность программ. URL: http://it.kgsu.ru/Otladka/otl_0045.html
С++. Достоинства языка. URL: http://new-mega-programmer.narod2.ru/
Майерс Г. Надежность программного обеспечения. - М.: Мир, 1980.
Майерс Г. Искусство тестирования программ. - М.: Финансы и стати-стика, 1982.
Современные методы программирования на языках C и C++: учебное пособие / Л.Б. Бузюков, О.Б. Петрова. – СПб. : Линk, 2008.
Дэвид Р. Мюссер, Жилмер Дж. Дердж, Атул Сейни « 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;
}
}
}