Листинг_DZ(VS)_2014 (Методические указания к лабораторным работам), страница 5
Описание файла
Файл "Листинг_DZ(VS)_2014" внутри архива находится в следующих папках: Методические указания к лабораторным работам, ЛР_15_КЛР_ПКШ. Документ из архива "Методические указания к лабораторным работам", который расположен в категории "". Всё это находится в предмете "программирование на основе классов и шаблонов" из 2 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "программирование на основе классов и шаблонов" в общих файлах.
Онлайн просмотр документа "Листинг_DZ(VS)_2014"
Текст 5 страницы из документа "Листинг_DZ(VS)_2014"
//
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 mainDEBUG(void) // Эту строку нужно рзаскомментировать, а следующую зраскоментировать
// при подключении отладочного варианта текста программы (и наоборот для методики испытаний)
//int main(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);
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);
// МЕТОД 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", 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);
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;
else
cout << "На улице нужен ремонт домов!" << endl;
if ( Sumstreet.GetStreetType() == one )
cout << "Тип улицы -> одностороннее движение" << endl;
if ( Sumstreet.GetStreetType() == two )
cout << "Тип улицы -> двухсторонне движение" << endl;
cout << "******* Изменения параметров *********" << endl;
Sumstreet.SetNameStreet("Новая");
Sumstreet.SetKeyNameStreet("Новая ключ");
Sumstreet.SetNumbStreet( 33 );
Sumstreet.SetKeyNumbStreet( 77 );
cout << "Название улицы 2-> " << Sumstreet.GetNameStreet() << endl;
cout << "Номер улицы 2-> " << Sumstreet.GetNumbStreet() << endl;
cout << "Название улицы для поиска 2-> " << Sumstreet.GetKeyNameStreet() << endl;
cout << "Номер улицы для поиска 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;
}
// Вариант для Списков
Модуль - DZ_LIB.H (для списков)
// DZ_LIB.cpp (для DZ_List.cpp)
/ Библиотека функций и методов для варианта с списком (DZ_List)
#include "stdafx.h"
#include <iostream>
using namespace std;
//////////////////////////////////
#include "DZ_Class.h"
//////////////////////////////////