Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6 ООП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.71 Mб
Скачать

Файл Teacher.H:

#include <iostream>

#include <fstream>

#include <ctime>

#include "C:\Users\Freddy\Desktop\OOP_2014\lab6_2\lab6_2\Tax.h"

using namespace std;

class Teacher

{

protected:

string name, surname, middle;

unsigned int number, year;

float oldSalary, salary, surcharge, allowance, aid, vacationPay; // оклад, доплата, надбавка, мат помощь, оплата отпуска

Tax tax;

public:

Teacher();

Teacher(string n, string s, string m, unsigned int N);

void Init(unsigned int y, float sal, float allow, float ai, float vacPay);

void SetNumber(unsigned int N);

void SetYear(unsigned int y);

void SetSurcharge(float s);

void SetAllowance(float a);

void SetAid(float a);

void SetVacationPay(float p);

string GetName();

string GetSurname();

string GetMiddle();

unsigned int GetNumber();

unsigned int GetYear();

float GetOldSalary();

float GetSalary();

float GetSurcharge();

float GetAllowance( );

float GetAid();

float GetVacationPay();

float GetTax();

virtual void ReadInfo(string path);

virtual void SaveInfo(string path) const;

};

Тестирование задания 2:

Задание 3:

файл Dot.cpp:

//---------------------------------------------------------------------------

#pragma hdrstop

#include "Dot.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

Dot::Dot(int x, int y)

{

X = x;

Y = y;

}

файл Dot.h:

//---------------------------------------------------------------------------

#ifndef DotH

#define DotH

class Dot

{

public:

int X, Y;

Dot(int x, int y);

};

#endif

файл Graph.cpp:

//---------------------------------------------------------------------------

#pragma hdrstop

#include "Graph.h"

#include <Unit1.h>

//---------------------------------------------------------------------------

#pragma package(smart_init)

Graph::Graph(TImage *Image, TListBox *ListBox)

{

img = Image;

list = ListBox;

Clear();

}

void Graph::AddDot(Dot *dot)

{

dots.push_back(*dot);

}

void Graph::Draw(){}

void Graph::Clear()

{

img->Canvas->Pen->Color = clWhite;

img->Canvas->Rectangle(0, 0, img->Width, img->Height);

}

void Graph::Save(string path)

{

ofstream out(path.c_str(), ios::trunc);

if(out.is_open())

{

for(int i=0; i<dots.size(); ++i)

out<<dots[i].X<<" "<<dots[i].Y<<endl;

}

out.close();

}

void Graph::Load(string path, TListBox *list)

{

ifstream in(path.c_str(), ios::binary);

if(in.is_open())

{

in.seekg(0, ios::end);

int size = (int)(in.tellg()/sizeof(int));

in.seekg(0, ios::beg);

for(int i=0; i<=size; i+=2)

{

AddDot (new Dot(0, 0));

in>>dots[i/2].X;

in>>dots[i/2].Y;

}

}

in.close();

switch(type)

{

case DOT:

for(int i=0; i<dots.size(); ++i)

list->Items->Add(AnsiString(dots[i].X) + "; " + AnsiString(dots[i].Y));

break;

case LINE: for(int i=0; i<dots.size(); i+=2)

list->Items->Add("(" + AnsiString(dots[i].X) + "; " + AnsiString(dots[i].Y) + "), (" + AnsiString(dots[i+1].X) + "; " + AnsiString(dots[i+1].Y) + ")");

break;

case POLY: for(int i=0; i<dots.size(); ++i)

list->Items->Add(AnsiString(dots[i].X) + "; " + AnsiString(dots[i].Y)); break;

default: break;

}

Draw();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]