Введение

программа множественный наследование

1.Задание на курсовую работу: реализовать множественное наследование на выбранной предметной области (учет транспортных средств).

. Постановка задачи:

Круг пользователей приложения: данное приложение создано в соответствии с заданием учебного плана, пользователями являются только исполнитель и заказчик. Тема рассматривается только в учебных целях, поэтому приложение на данном этапе демонстрирует только принцип наследования

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Информация, вводимая пользователем приложения: Информация о транспортном средстве (далее — ТС):

название ТС

выбор типа ТС

регистрационный знак ТС

ФИО водителя ТС

технические характеристики наземных ТС:

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

— масса

-расход топлива

— грузоподъемность

-количество пассажиров

-максимальная скорость)

технические характеристики водных ТС

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

— допустимый размер волн для работы

-максимальная скорость по воде

Результаты, которые необходимо получить с помощью приложения: реализация принципа множественного наследования эффективно

1. Описание принципа работы приложения в текстовой форме поэтапно

— Запуск приложения

Добавление, изменение или удаление транспортных средств

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

При добавлении указание всех необходимых данных о транспортном средстве для последующего его учета

После добавления или изменения сохранение информации в файл базы данных

Просмотр имеющихся ТС из базы данных, их изменение и удаление

*последовательность этапов может нарушаться

Структура приложения

.Таблица свойств объектов

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

Таблица 1. ListForm.h

 

Таблица 2. HelpForm.h

 

Таблица 3. EditForm.h

 

.Таблица идентификаторов

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

Таблица 4.

 

3. UML диаграмма

. Функциональное описание

1.      Основной практический смысл приложения несет наследование, которое реализовано в классе Vehicleclasses.h. В классе рассмотрены наземные и водные транспортные средства и их характеристики. (см. приложение).

.        UpdateVehicleListView — функция обновления данных в списке, после добавления, изменения или удаления данных.

.        EditButton_Click — функция нажатия кнопки изменить. При изменении программно ищется запись, которая выбрана для изменения, и в цикле проверяются условия на валидность введенных вновь значений, если все хорошо — запись изменяется и список обновляется.

.        VoidсохранитьToolStripMenuItem_Click-функция сохранения данных в базу данных.

Если выходных данных нет — то производится уведомление об ошибке записи.

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

.        загрузитьToolStripMenuItem_Click — функция загрузки информации из файла базы данных. В цикле просматриваются записи базы данных и выводятся в список приложения. Если данных нет, то выполняется условие проверки данных в базе и данные не загружаются, это сопровождается уведомлением пользователя.

.Описание работы программы на примере (примерах) с представлением экранных форм

Рисунок 1.Вид приложения при запуске

Имеется возможность добавить транспортное средство, измененить существующие или удалить старые.

Рисунок 2. Добавление ТС (после нажатия на «добавить»)

Ввод параметров транспортного средства и имя владельца.

Рисунок 3. Запись данных в форму добавления ТС

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

Рисунок 4. Главная форма после добавления

Данные можно вновь добавить, удалить или изменить.

Форма изменения данных выглядит точно также как и форма добавления.

Рисунок 5. Добавление водного ТС происходит в аналогичном режиме.

Название столбца в таблице «используется» буквально подтверждает его название. Отсюда можно узнать, в работе сейчас ТС или нет.

Заключение

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

В данной курсовой работе мы рассмотрели тему «множественное наследование эффективно» и реализовали в среде MicrosoftVisualStudio 2010 на языке С++ с использованием экранных форм (winforms). В качестве предметной области была выбрана транспортная компания, ТС которой учитываются в написанном нами приложении.

Множественное наследование является способностью порожденного класса наследовать характеристики нескольких базовых классов. Для порождения класса из нескольких базовых после имени нового класса и двоеточия вы указываете имена базовых классов, разделяя их запятыми, например class cabbit: public cat, public rabbit. При определении конструктора производного класса вы должны вызвать конструкторы всех базовых классов, передавая им необходимые параметры. При порождении классов может случиться так, что используемый вами базовый класс реально порожден из других базовых классов. Если так, то ваша программа создает иерархию классов. Если вызывается конструктор вашего производного класса, то вызываются также и конструкторы наследуемых классов (последовательно).

Программа в дальнейшем может быть дополнена и обновлена и в перспективе допускается использовать её в практическом применении.

Список использованной литературы

1.      Журнал для профессионалов. Программирование на С/С++, 2008, №1, 2008, №2

.        Базы данных. Вводный курс. 11.2.3 Связи — обобщения и механизмы наследования классов. http://citforum.ru/database/advanced_intro/31.shtml

.        Правило 40: Продумывайте подход к использованию множественного наследования. http://www.e-reading-lib.org/chapter.php/1002058/101/Mayers_-_Effektivnoe_ispolzovanie_CPP.html

Приложение

исходный код программы с комментариями

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

ListForm.h

{

VehicleListView->Items->Clear();*obj = vehicles;(obj != NULL)

{>Items->Add(CharToSysString(obj->v->name));::String ^vType;(obj->v->CLASS_ID == LAND_VEHICLE_ID) vType = LAND_VEHICLE_NAME;(obj->v->CLASS_ID == WATER_VEHICLE_ID) vType = WATER_VEHICLE_NAME;(obj->v->CLASS_ID == AMPHIBIAN_VEHICLE_ID) vType = AMPHIBIAN_VEHICLE_NAME;

VehicleListView->Items[VehicleListView->Items->Count-1]->SubItems->Add(vType);

VehicleListView->Items[VehicleListView->Items->Count-1]->SubItems->Add(CharToSysString(obj->v->number));

VehicleListView->Items[VehicleListView->Items->Count-1]->SubItems->Add(CharToSysString(obj->v->driver));(obj->v->in_use) vType = «Да»;= «Нет»;

VehicleListView->Items[VehicleListView->Items->Count-1]->SubItems->Add(vType);= obj->next;

}

}: System::Void AdButton_Click(System::Object^ sender, System::EventArgs^ e)

{_form->EditMode = false;_form->DisableFormComponents();_form->SetFormComponents();_form->ShowDialog();();

}: System::Void справкаToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{_form->ShowDialog();}: System::Void EditButton_Click(System::Object^ sender, System::EventArgs^ e)

{( VehicleListView->SelectedItems->Count == 0 ) return;*vl = vehicles;*v = NULL;(vl != NULL )

{(strcmp(vl->v->name,SysStringToChar(VehicleListView->Items[VehicleListView->SelectedIndices[0]]->Text)) == 0)

{

v = vl->v;

}= vl->next;

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

}(v == NULL) return;_form->DisableFormComponents();_form->DataFromVehicle(v);_form->EditMode = true;_form->EditVehicle = VehicleListView->Items[VehicleListView->SelectedIndices[0]]->Text;_form->SetFormComponents();_form->ShowDialog();(); }: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{( VehicleListView->SelectedItems->Count == 0 ) return;= DeleteVehicle(vehicles,SysStringToChar(VehicleListView->Items[VehicleListView->SelectedIndices[0]]->Text));();

}: System::Void ListForm_FormClosed(System::Object^ sender, System::Windows::Forms::FormClosedEventArgs^ e)

{= DeleteVehicles(vehicles);

}: System::Void очиститьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{= DeleteVehicles(vehicles);();

}: System::Void сохранитьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{((this->saveFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK) && (this->saveFileDialog->FileName->Length > 0 ))

{*path = SysStringToChar(this->saveFileDialog->FileName);out(path,ios::binary);(out == NULL)

{::Show(«Невозможно открыть файл для записи!.»,»Ошибка!.»);this->Close();

}= VehicleListView->Items->Count;out.write((char*)&count,sizeof(int));

*vl = vehicles;( vl != NULL)

{>v->WriteToStream( out );= vl->next;

}.close();

}

}: System::Void загрузиьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{((this->openFileDialog->ShowDialog() == System::Windows::Forms::DialogResult::OK) && (this->openFileDialog->FileName->Length > 0 ))

{= DeleteVehicles(vehicles);();*path = SysStringToChar(this->openFileDialog->FileName);in(path,ios::binary);

if (in == NULL)

{::Show(«Невозможно открыть файл для чтения!.»,»Ошибка!.»);

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

this->Close();

}=0;.read((char*)&VehicleCount,sizeof(int));(int i=0;i<VehicleCount;i++)

{CLASS_ID;.read((char*)&CLASS_ID,sizeof(int));(CLASS_ID == LAND_VEHICLE_ID)

{_vehicle *v = newland_vehicle(«»);>ReadFromStream( in );= AddVehicle(vehicles,v);

}(CLASS_ID == WATER_VEHICLE_ID)

{_vehicle *v = newwater_vehicle(«»);>ReadFromStream( in );= AddVehicle(vehicles,v);

}(CLASS_ID == AMPHIBIAN_VEHICLE_ID)

{_vehicle *v = newamphibian_vehicle(«»);>ReadFromStream( in );= AddVehicle(vehicles,v);

}

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

}.close();();

}

}

};

EditForm.h

voidDisableFormComponents()

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

{>groupBox1->Enabled = false;>groupBox2->Enabled = false;>AddButton->Enabled = false;>WaterMaxSpeedBox->Enabled = false;>WaterMaxSpeedLabel->Enabled = false;>ClearanceLabel->Enabled = false;>ClearanceBox->Enabled = false;>TypeComboBox->Enabled = true;>NameBox->Clear();>EngineCapacityBox->Text = «0»;>LoadCapacityBox->Text = «0»;>MassBox->Text = «0»;>MaximumSpeedBox->Text = «0»;>PassengerCapacityBox->Text = «0»;>ClearanceBox->Text = «0»;>WaterDisplacementBox->Text = «0»;>WaveSizeBox->Text = «0»;>WaterMaxSpeedBox->Text = «0»;>NumberBox->Clear();>DriverBox->Clear();>YearBox->Clear();>UseCheckBox->Checked = false;

}()

{(this->EditMode)>TypeComboBox->Enabled = false;(this->TypeComboBox->SelectedIndex == LAND_VEHICLE_ID)

{>groupBox1->Enabled = true;>groupBox2->Enabled = false;>WaterMaxSpeedBox->Enabled = false;>WaterMaxSpeedLabel->Enabled = false;>ClearanceLabel->Enabled = true;>ClearanceBox->Enabled = true;

}(this->TypeComboBox->SelectedIndex == WATER_VEHICLE_ID)

{>groupBox1->Enabled = true;>groupBox2->Enabled = true;>WaterMaxSpeedBox->Enabled = false;>WaterMaxSpeedLabel->Enabled = false;>ClearanceLabel->Enabled = false;>ClearanceBox->Enabled = false;

}(this->TypeComboBox->SelectedIndex == AMPHIBIAN_VEHICLE_ID)

{>groupBox1->Enabled = true;>groupBox2->Enabled = true;>WaterMaxSpeedBox->Enabled = true;>WaterMaxSpeedLabel->Enabled = true;>ClearanceLabel->Enabled = true;>ClearanceBox->Enabled = true;

}>AddButton->Enabled = true;

}( vehicle *v )

{::String ^number,^driver,^name;,ec,lc,m,ms,pc,rc,wd,wa,mws;

{= this->NumberBox->Text;= this->DriverBox->Text;= this->NameBox->Text;= System::Convert::ToInt32(this->YearBox->Text);= System::Convert::ToInt32(this->EngineCapacityBox->Text);= System::Convert::ToInt32(this->LoadCapacityBox->Text);= System::Convert::ToInt32(this->MassBox->Text);= System::Convert::ToInt32(this->MaximumSpeedBox->Text);= System::Convert::ToInt32(this->PassengerCapacityBox->Text);(v->CLASS_ID == LAND_VEHICLE_ID)

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

{= System::Convert::ToInt32(this->ClearanceBox->Text);

}(v->CLASS_ID == WATER_VEHICLE_ID)

{= System::Convert::ToInt32(this->WaterDisplacementBox->Text);= System::Convert::ToInt32(this->WaveSizeBox->Text);

}(v->CLASS_ID == AMPHIBIAN_VEHICLE_ID)

{= System::Convert::ToInt32(this->ClearanceBox->Text);= System::Convert::ToInt32(this->WaterDisplacementBox->Text);= System::Convert::ToInt32(this->WaveSizeBox->Text);= System::Convert::ToInt32(this->WaterMaxSpeedBox->Text);

}

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

{::Show(«Введите корректные значения во все поля!»,»Ошибка.»);

returnfalse;

}

if ( name == «»)

{

MessageBox::Show(«ВведитеназваниеТС!»,»Ошибка.»);

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

returnfalse;

}*vl = vehicles;(vl != NULL)

{(vl->v != v)(strcmp(vl->v->name,SysStringToChar(name))== 0)

{::Show(«ТС с таким именем уже существует!»,»Ошибка.»);

returnfalse;

}= vl->next;

}>driver = SysStringToChar(driver);>number = SysStringToChar(number);>year = y;>in_use = this->UseCheckBox->Checked;>engine_capacity = ec;>load_capacity = lc;>mass = m;>max_speed = ms;>name = SysStringToChar(name);>passenger_capacity = pc;(v->CLASS_ID == LAND_VEHICLE_ID)

{_vehicle *vl = (land_vehicle*) v;>road_clearance = rc;

}(v->CLASS_ID == WATER_VEHICLE_ID)

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

{_vehicle *vw = (water_vehicle*) v;>water_displacement = wd;>waves_allowable_size = wa;

}(v->CLASS_ID == AMPHIBIAN_VEHICLE_ID)

{_vehicle *va = (amphibian_vehicle*) v;>road_clearance = rc;>water_displacement = wd;>waves_allowable_size = wa;>max_water_speed = mws;

};

}( vehicle *v )

{>NumberBox->Text = CharToSysString(v->number);>DriverBox->Text = CharToSysString(v->driver);>YearBox->Text = v->year.ToString();>UseCheckBox->Checked = v->in_use;>NameBox->Text = CharToSysString(v->name);>TypeComboBox->SelectedIndex = v->CLASS_ID;>EngineCapacityBox->Text = v->engine_capacity.ToString();>LoadCapacityBox->Text = v->load_capacity.ToString();>MassBox->Text = v->mass.ToString();>Text = v->max_speed.ToString();>PassengerCapacityBox->Text = v->passenger_capacity.ToString();(v->CLASS_ID == LAND_VEHICLE_ID)

{_vehicle *vl = (land_vehicle*) v;>ClearanceBox->Text = vl->road_clearance.ToString();

}(v->CLASS_ID == WATER_VEHICLE_ID)

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

{_vehicle *vw = (water_vehicle*) v;>WaterDisplacementBox->Text = vw->water_displacement.ToString();>WaveSizeBox->Text = vw->waves_allowable_size.ToString();

}(v->CLASS_ID == AMPHIBIAN_VEHICLE_ID)

{_vehicle *va = (amphibian_vehicle*) v;>ClearanceBox->Text = va->road_clearance.ToString();>WaterDisplacementBox->Text = va->water_displacement.ToString();>WaveSizeBox->Text = va->waves_allowable_size.ToString();>WaterMaxSpeedBox->Text = va->max_water_speed.ToString();

}

}: System::Void EditForm_Shown(System::Object^ sender, System::EventArgs^ e)

{

}: System::Void TypeComboBox_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)

{();

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

}: System::Void AddButton_Click(System::Object^ sender, System::EventArgs^ e)

{(this->EditMode)

{*vl = vehicles;*v;(vl != NULL)

{(strcmp(vl->v->name,SysStringToChar(this->EditVehicle))== 0)= vl->v;= vl->next;

}(DataToVehicle(v) == false) return;>Close();

}

{*name = SysStringToChar(this->NameBox->Text);*v;(this->TypeComboBox->SelectedIndex == LAND_VEHICLE_ID)

{= newland_vehicle(name);

}(this->TypeComboBox->SelectedIndex == WATER_VEHICLE_ID)

{= newwater_vehicle(name);

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Цена курсовой

}(this->TypeComboBox->SelectedIndex == AMPHIBIAN_VEHICLE_ID)

{= newamphibian_vehicle(name);

}(DataToVehicle(v) == false)

{v;;

}= AddVehicle(vehicles,v);>Close();

}

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

}: System::Void CancelButton_Click(System::Object^ sender, System::EventArgs^ e)

{>Close();

}: System::Void label4_Click(System::Object^ sender, System::EventArgs^ e) {

}

};

}

Class Vehicle

classvehicle

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

{:*number, *driver;year;_use;*name;mass;_capacity;_capacity;_capacity;_speed;CLASS_ID; ~vehicle()=0;( ofstream&stream );( ifstream&stream );

};_params

{:_clearance;~land_params();( ofstream&stream );( ifstream&stream );

};

_params

{:_displacement;_allowable_size;~water_params() = 0;( ofstream&stream );( ifstream&stream );

};_vehicle: public vehicle, publicland_params

{:_vehicle(char *_name );

~land_vehicle();( ofstream&stream ); ( ifstream&stream );

};_vehicle: public vehicle, publicwater_params

{:_vehicle(char *_name );

~water_vehicle();( ofstream&stream ); ( ifstream&stream );

};_vehicle: public vehicle, publicland_params, publicwater_params

{:_water_speed;_vehicle(char *_name );

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую

~amphibian_vehicle();( ofstream&stream ); ( ifstream&stream );

{*v;*next;

};*vehicles;* AddVehicle(VehicleList *first, vehicle *_v);* DeleteVehicle(VehicleList *first, char *_name);* DeleteVehicles(VehicleList *first );_string( ofstream&stream, char *str);* read_string( ifstream&stream);* SysStringToChar(System::String^ string);::String^ CharToSysString(char* ch);

VehicleClasses.cpp

#include «stdafx.h»

#include «VehicleClasses.h»namespace std;*vehicles = 0;::~vehicle() {}vehicle::WriteToStream( ofstream &stream )

{_string( stream, name );_string( stream, driver );_string( stream, number );.write((char*)&year,sizeof(int));.write((char*)&in_use,sizeof(bool));.write((char*)&mass,sizeof(int));.write((char*)&passenger_capacity,sizeof(int));.write((char*)&load_capacity,sizeof(int));.write((char*)&engine_capacity,sizeof(int));.write((char*)&max_speed,sizeof(int));

}vehicle::ReadFromStream( ifstream &stream )

{= read_string( stream );= read_string( stream );= read_string( stream );.read((char*)&year,sizeof(int));.read((char*)&in_use,sizeof(bool));.read((char*)&mass,sizeof(int));.read((char*)&passenger_capacity,sizeof(int));.read((char*)&load_capacity,sizeof(int));.read((char*)&engine_capacity,sizeof(int));.read((char*)&max_speed,sizeof(int));

}_params::~land_params() {}land_params::WriteToStream( ofstream &stream )

{.write((char*)&road_clearance,sizeof(int));

}land_params::ReadFromStream( ifstream &stream )

{.read((char*)&road_clearance,sizeof(int));

}_params::~water_params() {}water_params::WriteToStream( ofstream &stream )

{.write((char*)&water_displacement,sizeof(int));.write((char*)&waves_allowable_size,sizeof(int));

}water_params::ReadFromStream( ifstream &stream )

{.read((char*)&water_displacement,sizeof(int));.read((char*)&waves_allowable_size,sizeof(int));

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

}_vehicle::land_vehicle( char *_name )

{= _name;_ID = LAND_VEHICLE_ID;

}_vehicle::~land_vehicle() {}land_vehicle::WriteToStream( ofstream &stream )

{.write((char*)&CLASS_ID,sizeof(int));::WriteToStream( stream );_params::WriteToStream( stream );

}land_vehicle::ReadFromStream( ifstream &stream )

{::ReadFromStream( stream );_params::ReadFromStream( stream );

}_vehicle::water_vehicle( char *_name )

{::name = _name;_ID = WATER_VEHICLE_ID;

}_vehicle::~water_vehicle() {}water_vehicle::WriteToStream( ofstream &stream )

{.write((char*)&CLASS_ID,sizeof(int));::WriteToStream( stream );_params::WriteToStream( stream );

}water_vehicle::ReadFromStream( ifstream &stream )

{::ReadFromStream( stream );_params::ReadFromStream( stream );

}_vehicle::amphibian_vehicle( char *_name )

{= _name;_ID = AMPHIBIAN_VEHICLE_ID;

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Подробнее

}_vehicle::~amphibian_vehicle(){}amphibian_vehicle::WriteToStream( ofstream &stream )

{.write((char*)&CLASS_ID,sizeof(int));::WriteToStream( stream );_params::WriteToStream( stream );_params::WriteToStream( stream );.write((char*)&max_water_speed,sizeof(int));

}amphibian_vehicle::ReadFromStream( ifstream &stream )

{::ReadFromStream( stream );_params::ReadFromStream( stream );_params::ReadFromStream( stream );.read((char*)&max_water_speed,sizeof(int));

}* AddVehicle(VehicleList *first, vehicle *_v)

{*Obj = new VehicleList();>next = NULL;>v= _v;(first != NULL)

{*tmp = first;(tmp->next != NULL)= tmp->next;>next = Obj;

}(first != NULL) return first;return Obj;

}* DeleteVehicle(VehicleList *first, char *_name)

{( strcmp(first->v->name,_name) == 0 )

{*newFirst = first->next;first->v;first;newFirst;

}

*Prev = first;*Current = first->next;(Current != NULL)

{( strcmp(Current->v->name,_name) == 0 )

{Current->v;(Current->next != NULL)>next = Current->next;>next = NULL;Current;first;

}= Prev->next;= Current ->next;

}first;

}* DeleteVehicles( VehicleList *first )

{*del = first;(del != NULL)

{= DeleteVehicle(del,del->v->name);

}NULL;

}namespace System::Runtime::InteropServices;write_string( ofstream &stream, char *str)

{size = strlen(str);.write((char*)&size,sizeof(int));.write(str, sizeof(char)*size);

}* read_string( ifstream &stream)

{size = 0;.read((char*)&size,sizeof(int));*str = new char[size+1];.read(str, sizeof(char)*size);[size] = ‘’;str;

}* SysStringToChar(System::String^ string)

{(char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(string);

}::String^ CharToSysString(char* ch)

{::String ^s = gcnew System::String( ch );s;

}

Нужна помощь в написании курсовой?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.

Заказать курсовую