Листинг_DZ(VS)_2014 (Методические указания к лабораторным работам), страница 9
Описание файла
Файл "Листинг_DZ(VS)_2014" внутри архива находится в следующих папках: Методические указания к лабораторным работам, ЛР_15_КЛР_ПКШ. Документ из архива "Методические указания к лабораторным работам", который расположен в категории "". Всё это находится в предмете "программирование на основе классов и шаблонов" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "программирование на основе классов и шаблонов" в общих файлах.
Онлайн просмотр документа "Листинг_DZ(VS)_2014"
Текст 9 страницы из документа "Листинг_DZ(VS)_2014"
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);
}
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;
else
cout << "Улице не нужен ремонт!" << endl;
cout << "После установки!!!!" << endl;
S1.SetRemontStr(true);
if ( S1.GetRemontStr() )
cout << "Улице нужен ремонт!" << endl;
else
cout << "Улице не нужен ремонт!" << endl;
cout << "После снятия признака ремонта!!!!" << endl;
S1.SetRemontStr(false);
if ( S1.GetRemontStr() )
cout << "Улице нужен ремонт!" << endl;
else
cout << "Улице не нужен ремонт!" << 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;
else
cout << "На улице не нужен ремонт домов!" << endl;
S1.del( tail);
H3.setAllParam("Магазин", "д.3", 1,2,3,fast, 3 , true);
H3.printOn(cout);
S1.add(&H3);
S1.GetRemont();
cout << "После вычисления признака ремонта домов улицы!!!!" << endl;
S1.printOn(cout);
if ( S1.GetRemont() )
cout << "На улице нужен ремонт домов!" << endl;
else
cout << "На улице не нужен ремонт домов!" << 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;
break;
/// При выходе
cout << endl << "Выход " << endl;
system(" PAUSE");
return 0;
}
// system(" PAUSE");
};
///
system(" PAUSE");
return 0;
}
///////////////////////////////// Для отладки
//int main(void)
int mainDEBUG(void)
{
system(" chcp 1251 > nul");
int iPunkt;
while ( true ) {
system (" CLS ");
cout << endl << "Меню тестового примера системы классов улиц." << endl << endl;
cout << endl << "1.Конструкторы Home " << endl;
cout << endl << "2.Методы Home " << endl;
cout << endl << "3.Конструкторы Street " << endl;
cout << endl << "4.Методы Street " << endl;
cout << 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);
Test.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);
// SetName
Temp.setName("Университет");
Temp.printOn(cout);
Temp.setName("Магазин" ,"д.11/12");
Temp.printOn(cout);
//classType
cout << "Тип класса = "<< Temp.classType() << endl;
//className
cout << "Name класса = "<< Temp.className() << endl;
//getName
cout << "Name дома = "<< Temp.getName() << endl;
//getNumb
cout << "Номер дома = "<< Temp.getNumb() << endl;
//getno
cout << "Номер в списке = "<< Temp.getNo() << endl;
//getParam
cout << "Параметры: "<< 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 << "Тип дома - сложный ";
cout << " Число квартир - " << 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);
// Пучтые улицы
S1.printOn(cout);
S2.printOn(cout);
S3.printOn(cout);
S4.printOn(cout);
Home H5("ДЭЗ", "д.5", 5,2,3);
Home H6("Жилой", "д.6", 6,2,3, fast);
Home H7("Магазин", "д.7", 7,2,3, multiple , 5);
S5.AddTail( (CObject *)&H5);
S5.AddTail( (CObject *)&H6);
S5.AddTail( (CObject *)&H7);
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.AddHead((CObject *)&HNew);
SNew.AddHead((CObject *)&H2);
SNew.AddHead((CObject *)&H3);
SNew.AddHead((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);
// МЕТОД add
Street Shead("Улица Head" , 15);
Shead.add(&HNew , head);
Shead.add(&H2 , head);
Shead.add(&H3 , head);
Shead.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","д.2", 7,2,3, fast , 5);
Home H6("Магазин 2", "д.3", 3);