Листинг_DZ_VS__2014 (Методические указания к лабораторным работам), страница 2
Описание файла
Файл "Листинг_DZ_VS__2014" внутри архива находится в следующих папках: Методические указания к лабораторным работам, ЛР_15_КЛР_ПКШ. PDF-файл из архива "Методические указания к лабораторным работам", который расположен в категории "". Всё это находится в предмете "программирование на основе классов и шаблонов" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "программирование на основе классов и шаблонов" в общих файлах.
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
ТЗ - 5.1.1 Создание улиц с домами " << endl;cout << "2. ТЗ - 5.1.2 Создание объектов для домов улицы " << endl;cout << "3. ТЗ - 5.1.3 Создание объектов для домов улицы на основе других " << endl;17coutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutcoutcout<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"4. ТЗ - 5.1.4 Учет свойств дома(см. ТЗ) " << endl;"5. ТЗ - 5.1.5 Задание и получение характеристик дома " << endl;"6.
ТЗ - 5.1.6 Сложение двух домов " << endl;"7. ТЗ - 5.1.7 Перегрузить оператор присваивания для домов " << endl;"8. ТЗ - 5.1.8 Распечатка характеристик дома " << endl;"9. ТЗ - 5.1.9 Учет свойств улицы(см. ТЗ) " << endl;"10. ТЗ - 5.1.10 Распечатка содержания улицы и ее свойств " << endl;"11. ТЗ - 5.1.11 Задание характеристик улицы " << endl;"12.
ТЗ - 5.1.12 Получение характеристик улицы " << endl;"13. ТЗ - 5.1.13 Сложение двух улиц " << endl;"14. ТЗ - 5.1.14 Добавление дома на улицу " << endl;"15. ТЗ - 5.1.15 Удаление дома с улицы " << endl;"16. ТЗ - 5.1.16 Установка и снятие признака ремонта улицы " << endl;"17. ТЗ - 5.1.17 Автоматическое получение признака ремонта домов улицы " << endl;"18. ТЗ - 5.1.18 Перегрузка оператора присваивания для улиц " << endl;cout << endl << "0.Выход " << endl;//system (" pause ");cin >> iPunkt;//cout << "Ввели - " << iPunkt<< endl;switch(iPunkt ){////////////////////case 1:cout << endl << "ТЗ - 5.1.1 Создание улиц с домами " << endl;{Street S1("Ленинский проспект");S1.printOn(cout);Home H1("Жилой","д.2", 7,2,3, fast , 5);Home H2("Магазин", "д.3", 3);Home H3("ДЭЗ", "д.4а", 4,2);S1.add(&H1);S1.add(&H2);S1.add(&H3);S1.printOn(cout);}system (" pause ");system (" pause ");///break;case 2:cout << "5.1.2 Создание объектов для домов улицы " << endl;{Home H1;Home H2("Жилой","д.2");Home H3("Жилой", "д.3", 3);Home H4("Жилой", "д.4а", 4,2);Home H5("ДЭЗ", "д.5", 5,2,3);Home H6("Жилой", "д.6", 6,2,3, fast);Home H7("Магазин", "д.7", 7,2,3, multiple , 5);H1.printOn(cout);H2.printOn(cout);system (" pause ");H3.printOn(cout);H4.printOn(cout);system (" pause ");H5.printOn(cout);18H6.printOn(cout);system (" pause ");H7.printOn(cout);}system (" pause ");///break;case 3:cout << "5.1.3 Создание объектов для домов улицы на основе других " << endl;{Home H6("Жилой", "д.6", 6,2,3, fast, 100);Home H7("Магазин", "д.7", 7,2,3, multiple , 5);Home Test(H6);H6.printOn(cout);Test.printOn(cout);system (" pause ");system (" pause ");cout << "Указатель!!! " << endl;Home *pHome = new Home (H7);H7.printOn(cout);pHome->printOn(cout);delete pHome;}system (" pause ");//break;case 4:cout << "5.1.4 Учет свойств дома(см.
ТЗ) " << endl;{Home H6("Жилой", "д.6", 6,2,3, fast, 100);H6.printOn(cout);Home H7("Магазин", "д.7", 7,2,3, multiple , 5);H7.printOn(cout);}system (" pause ");system (" pause ");//break;case 5:cout << "5.1.5 Задание и получение характеристик дома " << endl;{Home H6("Жилой", "д.6", 6,2,3, fast, 100);H6.printOn(cout);int iH, Etag , Men , Apart ;HomeType Type;// ПолучениеH6.getParam(iH , Etag, Men, Type , Apart);cout << "Номер -" << iH <<" Этажей -" << Etag << " Жителей -" << Men <<endl;if (Type == fast)cout << "Тип дома - простой ";if (Type == multiple)cout << "Тип дома - много строений ";if (Type == complex)19cout << "Тип дома - сложный ";cout << " Число квартир - " << Apart << endl;H6.setParam( 11,12,13,fast, 15 );H6.printOn(cout);system (" pause ");system (" pause ");// Заданиеcout << "Признак ремонта!!! " << endl;Home H7("Магазин", "д.7", 7,2,3, multiple , 5);H7.printOn(cout);H7.setAllParam("Аптека", "10/8", 1,2,3,fast, 5 , true);H7.printOn(cout);}system (" pause ");//break;case 6:cout << "5.1.6 Сложение двух домов " << endl;{Home H1("Жилой", "д.6", 6,2,3, fast , 3);Home H2("Ашан", "д.7", 9,10,11, multiple , 5);Home Temp;Temp = H1 + H2;H1.printOn(cout);H2.printOn(cout);Temp.printOn(cout);}system (" pause ");system (" pause ");//break;//case 7:cout << "5.1.7 Перегрузить оператор присваивания для домов " << endl;{Home H1("Жилой", "д.6", 6,2,3, fast , 3);Home Temp;Temp = H1;H1.printOn(cout);Temp.printOn(cout);H1.setName("Перекресток");H1.printOn(cout);Temp.printOn(cout);//}system (" pause ");system (" pause ");break;//case 8:cout << "5.1.8 Распечатка характеристик дома " << endl;20////{Home H1("Жилой", "д.6", 6,2,3, fast , 3);H1.printOn(cout);}system (" pause ");system (" pause ");break;case 9:cout << "5.1.9 Учет свойств улицы(см.
ТЗ) " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Street SNew("Улица" , 15);SNew.printOn(cout);SNew.add(&H2);SNew.add(&H3);SNew.add(&H4);SNew.printOn(cout);}system (" pause ");system (" pause ");//break;//case 10:cout << "5.1.10 Распечатка содержания улицы и ее свойств" << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Street SNew("Улица" , 15);SNew.printOn(cout);SNew.add(&H2);SNew.add(&H3);SNew.add(&H4);SNew.printOn(cout);////}system (" pause ");system (" pause ");break;case 11:cout << "5.1.11 Задание характеристик улицы " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Street Sumstreet("Улица с параметрами" , 15);Sumstreet.add(&H2);Sumstreet.add(&H3);Sumstreet.add(&H4);Sumstreet.printOn(cout);21cout << "******* Изменения параметров *********" << endl;Sumstreet.SetNameStreet("Новая");Sumstreet.SetKeyNameStreet("Новая ключ");Sumstreet.SetNumbStreet( 33 );Sumstreet.SetKeyNumbStreet( 77 );Sumstreet.printOn(cout);cout << "******* Параметры *********" << endl;cout << "Название улицы -> " << Sumstreet.GetNameStreet() << endl;cout << "Номер улицы -> " << Sumstreet.GetNumbStreet() << endl;cout << "Название улицы для поиска-> " << Sumstreet.GetKeyNameStreet() << endl;cout << "Номер улицы для поиска-> " << Sumstreet.GetKeyNumbStreet() << endl;cout << "Число домов на улице = " << Sumstreet.GetNumberHome() << endl;cout << "Число жителей на улице = " << Sumstreet.GetNumberMens() << endl;cout << "Число квартир на улице = " << Sumstreet.GetNumberApart() << endl;if ( Sumstreet.GetRemont() )cout << "На улице нужен ремонт домов!" << endl;elsecout << "На улице не нужен ремонт домов!" << endl;if ( Sumstreet.GetStreetType() == one )cout << "Тип улицы -> одностороннее движение" << endl;if ( Sumstreet.GetStreetType() == two )cout << "Тип улицы -> двухсторонне движение" << endl;////}system (" pause ");system (" pause ");break;case 12:cout << "5.1.12 Получение характеристик улицы " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Street Sumstreet("Улица с параметрами" , 15);Sumstreet.add(&H2);Sumstreet.add(&H3);Sumstreet.add(&H4);Sumstreet.printOn(cout);cout << "******* Параметры *********" << endl;cout << "Название улицы -> " << Sumstreet.GetNameStreet() << endl;cout << "Номер улицы -> " << Sumstreet.GetNumbStreet() << endl;cout << "Название улицы для поиска-> " << Sumstreet.GetKeyNameStreet() << endl;cout << "Номер улицы для поиска-> " << Sumstreet.GetKeyNumbStreet() << endl;cout << "Число домов на улице = " << Sumstreet.GetNumberHome() << endl;cout << "Число жителей на улице = " << Sumstreet.GetNumberMens() << endl;cout << "Число квартир на улице = " << Sumstreet.GetNumberApart() << endl;if ( Sumstreet.GetRemont() )cout << "На улице нужен ремонт домов!" << endl;elsecout << "На улице не нужен ремонт домов!" << endl;if ( Sumstreet.GetStreetType() == one )cout << "Тип улицы -> одностороннее движение" << endl;if ( Sumstreet.GetStreetType() == two )cout << "Тип улицы -> двухсторонне движение" << endl;22}system (" pause ");system (" pause ");////break;case 13:cout << "5.1.13 Сложение двух улиц" << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Street Astreet("Первая", 20);Astreet.add(&H2 , head);Astreet.add(&H3 , head);Astreet.add(&H4 , head);Astreet.printOn(cout);Home H5("Аптека","д.2", 7,2,3, fast , 5);Home H6("Перекресток", "д.3", 3);Home H7("Детский сад", "д.4а", 4,2);Street Dstreet("Вторая ", 20);Dstreet.add(&H5 , tail);Dstreet.add(&H6 , tail);Dstreet.add(&H7 , tail);Dstreet.printOn(cout);system (" pause ");system (" pause ");cout << endl << "******* Сложение *********" << endl;Street Sumstreet(" ", 20);Sumstreet.printOn(cout);Sumstreet = Astreet + Dstreet;Sumstreet.printOn(cout);system (" pause ");cout << "******* Параметры *********" << endl;cout << "Название улицы -> " << Sumstreet.GetNameStreet() << endl;cout << "Номер улицы -> " << Sumstreet.GetNumbStreet() << endl;cout << "Название улицы для поиска-> " << Sumstreet.GetKeyNameStreet() << endl;cout << "Номер улицы для поиска-> " << Sumstreet.GetKeyNumbStreet() << endl;cout << "Число домов на улице = " << Sumstreet.GetNumberHome() << endl;cout << "Число жителей на улице = " << Sumstreet.GetNumberMens() << endl;cout << "Число квартир на улице = " << Sumstreet.GetNumberApart() << endl;if ( Sumstreet.GetRemont() )cout << "На улице нужен ремонт домов!" << endl;elsecout << "На улице не нужен ремонт домов!" << endl;if ( Sumstreet.GetStreetType() == one )cout << "Тип улицы -> одностороннее движение" << endl;if ( Sumstreet.GetStreetType() == two )cout << "Тип улицы -> двухсторонне движение" << endl;}system (" pause ");system (" pause ");//break;//case 14:cout << "5.1.14 Добавление дома на улицу" << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);23////Home H3("Магазин", "д.3", 3);Street S1("Улица с параметрами" , 15);S1.add(&H2);S1.add(&H3);S1.printOn(cout);system (" pause ");system (" pause ");Home H5("Аптека","д.2", 7,2,3, fast , 5);Home H6("Перекресток", "д.3", 3);S1.add(&H5 , head);S1.add(&H6 , head);S1.printOn(cout);system (" pause ");Home H7("Детский сад", "д.4а", 4,2);S1.add(&H7 , tail);S1.printOn(cout);system (" pause ");Home H8("Жилой 3","д.2", 70,20,30, fast , 50);S1.add(&H8 , Number, 2);S1.printOn(cout);}system (" pause ");system (" pause ");break;case 15:cout << "5.1.15 Удаление дома с улицы" << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Street S1("Улица с параметрами" , 15);S1.add(&H2);S1.add(&H3);Home H5("Аптека","д.2", 7,2,3, fast , 5);Home H6("Перекресток", "д.3", 3);S1.add(&H5 , head);S1.add(&H6 , head);Home H7("Детский сад", "д.4а", 4,2);S1.add(&H7 , tail);Home H8("Жилой 3","д.2", 70,20,30, fast , 50);S1.add(&H8 , Number, 2);S1.printOn(cout);system (" pause ");system (" pause ");cout << "Удаление дома с улицы конец !!!" << endl;Home Temp;S1.del(); //S1.printOn(cout);system (" pause ");cout << "Удаление дома с улицы начало!!!" << endl;S1.del( head);S1.printOn(cout);system (" pause ");cout << "Удаление дома с улицы второго!!!" << endl;S1.del( Number, 2);S1.printOn(cout);}24//system (" pause ");break;//case 16:cout << "5.1.16 Установка и снятие признака ремонта улицы " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Street S1("Улица 1" , 15);S1.add(&H2);S1.add(&H3);S1.printOn(cout);if ( S1.GetRemontStr() )cout << "Улице нужен ремонт!" << endl;elsecout << "Улице не нужен ремонт!" << endl;cout << "После установки!!!!" << endl;S1.SetRemontStr(true);if ( S1.GetRemontStr() )cout << "Улице нужен ремонт!" << endl;elsecout << "Улице не нужен ремонт!" << endl;cout << "После снятия признака ремонта!!!!" << endl;S1.SetRemontStr(false);if ( S1.GetRemontStr() )cout << "Улице нужен ремонт!" << endl;elsecout << "Улице не нужен ремонт!" << endl;////}system (" pause ");system (" pause ");break;case 17:cout << "5.1.17 Автоматическое получение признака ремонта домов улицы " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Street S1("Улица 1" , 15);S1.add(&H2);S1.add(&H3);cout << "До установки признака ремонта дома и вычисления признака ремонта домовулицы!!!!" << endl;S1.printOn(cout);if ( S1.GetRemont() )cout << "На улице нужен ремонт домов!" << endl;elsecout << "На улице не нужен ремонт домов!" << endl;S1.del( tail);H3.setAllParam("Магазин", "д.3", 1,2,3,fast, 3 , true);H3.printOn(cout);S1.add(&H3);25////S1.GetRemont();cout << "После вычисления признака ремонта домов улицы!!!!" << endl;S1.printOn(cout);if ( S1.GetRemont() )cout << "На улице нужен ремонт домов!" << endl;elsecout << "На улице не нужен ремонт домов!" << endl;}system (" pause ");system (" pause ");break;case 18:cout << "5.1.18 Перегрузка оператора присваивания для улиц " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);H3.setAllParam("Магазин", "д.3", 1,2,3,fast, 3 , true);Street S1("Улица 1" , 15);Street SNew("Улица" , 15);S1.add(&H2);S1.add(&H3);S1.printOn(cout);SNew.printOn(cout);SNew = S1;SNew.printOn(cout);S1.del( head);system (" pause ");system (" pause ");S1.SetNameStreet("Новое название S1 ");cout << "После изменения S1 (название и удален первый)!!!!" << endl;cout << "S1!!!!" << endl;S1.printOn(cout);cout << "SNew!!!!" << endl;SNew.printOn(cout);//}system (" pause ");break;///////////////////////////////////////////////////////case 0:case 88-48:case 120-48:cout << endl << "Выход " << endl;system(" PAUSE");return 0;default:cout << endl << "Выбор функции не верен! " << endl;26break;/// При выходеcout << endl << "Выход " << endl;system(" PAUSE");return 0;}system(" PAUSE");};///system(" PAUSE");return 0;}///////////////////////////////// Для отладкиint mainDEBUG(void) // Эту строку нужно рзаскомментировать, а следующую зраскоментировать// при подключении отладочного варианта текста программы (и наоборот для методикииспытаний)//int main(void){system(" chcp 1251 > nul");int iPunkt;while ( true ) {system (" CLS ");cout << endlcout << endlcout << endlcout << endlcout << endlcout << endl<<<<<<<<<<<<"Меню тестового примера системы классов улиц." << endl << endl;"1.Конструкторы Home " << endl;"2.Методы Home " << endl;"3.Конструкторы Street " << endl;"4.Методы Street " << endl;"0.Выход " << endl;cin >> iPunkt;//cout << "Ввели - " << iPunkt<< endl;switch(iPunkt){case 1:cout << endl << "1.Конструкторы Home " << endl;//////////////////////////////////{Home H1;Home H2("Жилой","д.2");Home H3("Жилой", "д.3", 3);Home H4("Жилой", "д.4а", 4,2);Home H5("ДЭЗ", "д.5", 5,2,3);Home H6("Жилой", "д.6", 6,2,3, fast);Home H7("Магазин", "д.7", 7,2,3, multiple , 5);H1.printOn(cout);H2.printOn(cout);H3.printOn(cout);H4.printOn(cout);H5.printOn(cout);H6.printOn(cout);H7.printOn(cout);// Конструктор копированияHome Test(H5);H5.printOn(cout);27Test.printOn(cout);Home *pHome = new Home (H6);H6.printOn(cout);pHome->printOn(cout);Home Temp;Temp = H7;H7.printOn(cout);Temp.printOn(cout);cout << endl << "Указатели!!!!!!!!! " << endl;Home *pHome1 = new Home (* pHome);pHome->printOn(cout);pHome1->printOn(cout);delete pHome;delete pHome1;}//////////////////////////////////////////////////////////////////////////////break;case 2:cout << endl << "2.Методы Home " << endl;////////////////////////////////////////{// + , SetName,printOn,classType,className, getName, getNumb,getno, getParam// +Home H1("Жилой", "д.6", 6,2,3, fast , 3);Home H2("Жилой", "д.7", 9,10,11, fast , 5);Home Temp;Temp = H1 + H2;H1.printOn(cout);H2.printOn(cout);Temp.printOn(cout);// SetNameTemp.setName("Университет");Temp.printOn(cout);Temp.setName("Магазин" ,"д.11/12");Temp.printOn(cout);//classTypecout << "Тип класса = "<< Temp.classType() << endl;//classNamecout << "Name класса = "<< Temp.className() << endl;//getNamecout << "Name дома = "<< Temp.getName() << endl;//getNumbcout << "Номер дома = "<< Temp.getNumb() << endl;//getnocout << "Номер в списке = "<< Temp.getNo() << endl;//getParamcout << "Параметры: "<< endl;int iH, Etag , Men , Apart ;HomeType Type;Temp.getParam(iH , Etag, Men, Type , Apart);cout << "Номер -" << iH <<" Этажей -" << Etag << " Жителей -" << Men <<endl;if (Type == fast)cout << "Тип дома - простой ";if (Type == multiple)cout << "Тип дома - много строений ";if (Type == complex)cout << "Тип дома - сложный ";28cout << " Число квартир - " << Apart << endl;Temp.printOn(cout);Temp.setParam(1,2,3,fast, 5 );Temp.printOn(cout);Temp.setAllParam("Аптека", "10/8 кв.3", 11,12,13,fast, 15 );Temp.printOn(cout);}////////////////////////////////////////break;case 3:cout << endl << "3.Конструкторы Street " << endl;{Street S1;Street S2("Лениский проспект");Street S3("Ленин","Лениский проспект");Street S4(5);Street S5("Горького ул." , 7);Home H5("ДЭЗ", "д.5", 5,2,3);Home H6("Жилой", "д.6", 6,2,3, fast);Home H7("Магазин", "д.7", 7,2,3, multiple , 5);S5.Add( (CObject *)&H5);S5.Add( (CObject *)&H6);S5.Add( (CObject *)&H7);S5.printOn(cout);S1.printOn(cout);S2.printOn(cout);S3.printOn(cout);S4.printOn(cout);S5.printOn(cout);//S5.RemoveAt(1);S5.printOn(cout);///////////////////////////////Street S6(S5);S6.printOn(cout);Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Home HNew("Сарай","д.10/12", 7,2,3, fast , 5);Street SNew("Улица" , 15);SNew.printOn(cout);SNew.Add((CObject *)&HNew);SNew.Add((CObject *)&H2);SNew.Add((CObject *)&H3);SNew.Add((CObject *)&H4);SNew.printOn(cout);cout << endl << "******* Конструктор копии *********" << endl;Street SCopy(SNew);SCopy.printOn(cout);cout << endl << "******* Перегрузка присваивания *********" << endl;Street SEmpty("Пусто!!" , 15);SEmpty.printOn(cout);SEmpty = SCopy;SEmpty.printOn(cout);// МЕТОД addStreet Shead("Улица Head" , 15);Shead.add(&HNew , head);Shead.add(&H2 , head);Shead.add(&H3 , head);29Shead.add(&H4 , head);Shead.printOn(cout);///Shead.del( head);Shead.printOn(cout);Shead.del( tail);Shead.printOn(cout);Shead.del( Number , 1);Shead.printOn(cout);};break;case 4:cout << endl << "4.Методы Street " << endl;{Home H2("Жилой","д.2", 7,2,3, fast , 5);Home H3("Магазин", "д.3", 3);Home H4("ДЭЗ", "д.4а", 4,2);Street Astreet("Добавление head", 20);Astreet.printOn(cout);cout << endl << "******* Добавление head *********" << endl;Astreet.add(&H2 , head);Astreet.add(&H3 , head);Astreet.add(&H4 , head);Astreet.printOn(cout);Home H5("Жилой","д.2", 7,2,3, fast , 5);Home H6("Магазин", "д.3", 3);Home H7("ДЭЗ", "д.4а", 4,2);cout << endl << "******* Добавление tail err *********" << endl;Street Dstreet("Добавление tail ", 20);Dstreet.add(&H5 , tail);Dstreet.add(&H6 , tail);Dstreet.add(&H7 , tail);Dstreet.printOn(cout);cout << endl << "******* Добавление NUM 2 *********" << endl;Home H8("Жилой 3","д.2", 70,20,30, fast , 50);Home H9("Магазин 3", "д.3", 3);Home H10("ДЭЗ 3", "д.4а", 4,2);Dstreet.add(&H8 , Number, 2);Dstreet.add(&H9 , Number, 2);Dstreet.add(&H10 , Number, 2);Dstreet.printOn(cout);cout << endl << "******* Удаление *********" << endl;Dstreet.del(); //Dstreet.printOn(cout);Dstreet.del( head);Dstreet.printOn(cout);Dstreet.del( Number, 2);Dstreet.printOn(cout);cout << endl << "******* Сложение *********" << endl;Street Sumstreet(" ", 20);Sumstreet.printOn(cout);Sumstreet = Astreet + Dstreet;Sumstreet.printOn(cout);30cout << "******* Параметры *********" << endl;cout << "Название улицы -> " << Sumstreet.GetNameStreet() << endl;cout << "Номер улицы -> " << Sumstreet.GetNumbStreet() << endl;cout << "Название улицы для поиска-> " << Sumstreet.GetKeyNameStreet() << endl;cout << "Номер улицы для поиска-> " << Sumstreet.GetKeyNumbStreet() << endl;cout << "Число домов на улице = " << Sumstreet.GetNumberHome() << endl;cout << "Число жителей на улице = " << Sumstreet.GetNumberMens() << endl;cout << "Число квартир на улице = " << Sumstreet.GetNumberApart() << endl;if ( Sumstreet.GetRemont() )cout << "На улице нужен ремонт домов!" << endl;elsecout << "На улице нужен ремонт домов!" << endl;if ( Sumstreet.GetStreetType() == one )cout << "Тип улицы -> одностороннее движение" << endl;if ( Sumstreet.GetStreetType() == two )cout << "Тип улицы -> двухсторонне движение" << endl;cout << "******* Изменения параметров *********" << endl;coutcoutcoutcoutSumstreet.SetNameStreet("Новая");Sumstreet.SetKeyNameStreet("Новая ключ");Sumstreet.SetNumbStreet( 33 );Sumstreet.SetKeyNumbStreet( 77 );<< "Название улицы 2-> " << Sumstreet.GetNameStreet() << endl;<< "Номер улицы 2-> " << Sumstreet.GetNumbStreet() << endl;<< "Название улицы для поиска 2-> " << Sumstreet.GetKeyNameStreet() << endl;<< "Номер улицы для поиска 2-> " << Sumstreet.GetKeyNumbStreet() << endl;};break;/////////////////////////////////case 0:case 88-48:case 120-48:cout << endl << "Выход " << endl;system(" PAUSE");//return 0;default:cout << endl << "Выбор функции не верен! " << endl;break;/// При выходеcout << endl << "Выход " << endl;system(" PAUSE");return 0;}system(" PAUSE");};///system(" PAUSE");return 0;}// Вариант для Списков31Модуль - DZ_LIB.H (для списков)// DZ_LIB.cpp (для DZ_List.cpp)/ Библиотека функций и методов для варианта с списком (DZ_List)#include "stdafx.h"#include <iostream>using namespace std;//////////////////////////////////#include "DZ_Class.h"//////////////////////////////////class Home;////////////////////////////// Home - конструкторы//////////////////////////// Класс Home// Конструктор без параметровHome::Home(): AbstrHome() {Home_Number = NULL;iHome= NULL;no= NULL;EtagCount = NULL;MenCount = NULL;TypeHome = fast;NumbApartament = NULL;HomeRemont = false;};//////////////////////////// Класс Home// Класс Home: Деструктор////////////////////////////Home::~Home( ){if ( Home_Number != (char *)NULL) delete []Home_Number;};//////////////////////////// Класс Home// Конструтрор копированияHome::Home( Home & H): AbstrHome() {no = 0;if ( H.name != (char *)NULL ){ name= new char[strlen(H.getName()) + 1];strcpy_s(name , strlen(H.getName()) + 1 , H.getName());}elsename = (char *)NULL;if ( H.Home_Number != (char *)NULL ){ Home_Number = new char[strlen(H.Home_Number) + 1];strcpy_s(Home_Number , strlen(H.Home_Number) + 1, H.Home_Number); }elseHome_Number = (char *)NULL;iHome = H.iHome;EtagCount = H.EtagCount;MenCount = H.MenCount;TypeHome = H.TypeHome;NumbApartament = H.NumbApartament;HomeRemont = H.HomeRemont;};//////////////////////////// Класс Home// Конструктор: номер дома и имя для поиска (name)Home::Home(const char *HomName, const char *Number) {// Имя32if ( HomName != (char *)NULL ){name= new char[strlen(HomName) + 1];strcpy_s(name, strlen(HomName) + 1 , HomName);}elsename = (char *)NULL;// Номер домаif ( Number != (char *)NULL ){Home_Number = new char[strlen(Number) + 1];strcpy_s(Home_Number , strlen(Number) +1 , Number); }elseHome_Number = (char *)NULL;iHome= NULL;EtagCount = NULL;MenCount = NULL;TypeHome = fast;NumbApartament = NULL;HomeRemont = false;};//////////////////////////// Класс Home// Конструктор: номер дома и имя/номер для поиска (name)Home::Home(const char *HomName, const char *Number, int Numb) {// Имяif ( HomName != (char *)NULL ){name= new char[strlen(HomName) + 1];strcpy_s(name , strlen(HomName) + 1, HomName); }elsename = (char *)NULL;// Номерif ( Number != (char *)NULL ){Home_Number = new char[strlen(Number) + 1];strcpy_s(Home_Number , strlen(Number) + 1 , Number); }elseHome_Number = (char *)NULL;//iHome= Numb;EtagCount = NULL;MenCount = NULL;TypeHome = fast;NumbApartament = NULL;HomeRemont = false;}//////////////////////////// Класс Home// Конструктор со всеми параметрамиHome::Home(const char *HomName, const char *Number, int Numb,int Etag, int Men,HomeType Type,int Apart) {//Имяif ( HomName != (char *)NULL ){name= new char[strlen(HomName) + 1];strcpy_s(name , strlen(HomName) + 1, HomName); }elsename = (char *)NULL;// Номерif ( Number != (char *)NULL ){Home_Number = new char[strlen(Number) + 1];strcpy_s(Home_Number , strlen(Number) +1 , Number); }elseHome_Number = (char *)NULL;//iHome= Numb;33EtagCount = Etag;MenCount = Men;TypeHome = Type;NumbApartament = Apart;HomeRemont = false;}//////////////////////////// Класс Home// Конструктор копированияHome Home::operator =(Home & H ) {// Имяif ( H.name != (char *)NULL ){ name= new char[strlen(H.getName()) + 1];strcpy_s(name , strlen(H.getName()) + 1 , H.getName());}elsename = (char *)NULL;// Номерif ( H.Home_Number != (char *)NULL ){ Home_Number = new char[strlen(H.Home_Number) + 1];strcpy_s(Home_Number , strlen(H.Home_Number) + 1, H.Home_Number); }elseHome_Number = (char *)NULL;//iHome = H.iHome;EtagCount = H.EtagCount;MenCount = H.MenCount;TypeHome = H.TypeHome;NumbApartament = H.NumbApartament;HomeRemont = H.HomeRemont;return *this;};/////////////////////// Методы класса Home/////////////////////// Метод печати дома//////////////////void Home::printOn(ostream & out) {//out << "Номер сп.