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

Файл Unit1.H:

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

#ifndef Unit1H

#define Unit1H

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

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ExtCtrls.hpp>

#include <Menus.hpp>

#include <Dialogs.hpp>

#include <C:\Users\Freddy\Desktop\OOP_2014\lab6_2\lab6_2\AssistProfessor.h>

#include <Dialogs.hpp>

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

class TForm1 : public TForm

{

__published: // IDE-managed Components

TPanel *MainPanel;

TMainMenu *File;

TMenuItem *File1;

TMenuItem *New1;

TMenuItem *Open1;

TMenuItem *SaveAs;

TMenuItem *Save1;

TMenuItem *Load1;

TLabel *Name;

TEdit *EditName;

TLabel *Surname;

TEdit *EditSurname;

TLabel *Middle;

TEdit *EditMiddle;

TButton *ApplyButton;

TLabel *SalaryLabel;

TLabel *SurchargeLabel;

TLabel *AllowanceLabel;

TLabel *AidLabel;

TLabel *VacationPayLabel;

TEdit *EditSalary;

TEdit *EditSurcharge;

TEdit *EditAllowance;

TEdit *EditAid;

TEdit *EditVacationPay;

TLabel *TaxLabel;

TLabel *TotalLabel;

TLabel *TaxOut;

TLabel *Total;

TLabel *NumberLabel;

TEdit *EditNumber;

TLabel *YearLabel;

TEdit *EditYear;

TComboBox *ComboBox;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TSaveDialog *SaveDialog;

TOpenDialog *OpenDialog;

void __fastcall ApplyButtonClick(TObject *Sender);

void __fastcall SaveAsClick(TObject *Sender);

void __fastcall Load1Click(TObject *Sender);

void __fastcall Save1Click(TObject *Sender);

void __fastcall New1Click(TObject *Sender);

void __fastcall Open1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForm1(TComponent* Owner);

Teacher *t;

AnsiString path;

};

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

extern PACKAGE TForm1 *Form1;

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

#endif

Файл Teacher.Cpp:

#include "Teacher.h"

Teacher::Teacher()

{

name = "";

surname = "";

middle = "";

number = 0;

Init(0, 0, 0, 0, 0);

}

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

{

name = n;

surname = s;

middle = m;

number = N;

Init(0, 0, 0, 0, 0);

}

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

{

oldSalary = sal;

time_t t;

time(&t);

int sur = (localtime(&t)->tm_year + 1900) - year;

if(sur >= 20)

surcharge = 30;

else if(sur >= 10)

surcharge = 20;

else if(sur >= 3)

surcharge = 10;

year = y;

allowance = allow;

aid = ai;

vacationPay = vacPay;

salary = sal + (sal*surcharge)/100.0 - (sal*6.1)/100.0 + allowance;

tax = Tax(salary);

salary -= tax.GetTax();

}

void Teacher::SetNumber(unsigned int N) { number = N; }

void Teacher::SetYear(unsigned int y) { year = y;}

void Teacher::SetSurcharge(float s) { surcharge = s; }

void Teacher::SetAllowance(float a) { allowance = a; }

void Teacher::SetAid(float a) { aid = a; }

void Teacher::SetVacationPay(float p) { vacationPay = p; }

unsigned int Teacher::GetNumber() { return number; }

unsigned int Teacher::GetYear() { return year; }

float Teacher::GetOldSalary() { return oldSalary; }

float Teacher::GetSalary() { return salary; }

float Teacher::GetSurcharge() { return surcharge; }

float Teacher::GetAllowance( ) { return allowance; }

float Teacher::GetAid() { return aid; }

float Teacher::GetVacationPay() { return vacationPay; }

float Teacher::GetTax() { return tax.GetTax(); }

string Teacher::GetName() { return name; }

string Teacher::GetSurname() { return surname; }

string Teacher::GetMiddle() { return middle; }

void Teacher::ReadInfo(string path)

{

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

if(in.is_open())

{

in>>name;

in>>surname;

in>>middle;

in>>number;

in>>year;

in>>oldSalary;

in>>salary;

in>>surcharge;

in>>allowance;

in>>aid;

in>>vacationPay;

float t;

in>>t;

tax.SetTax(t);

in.close();

}

}

void Teacher::SaveInfo(string path) const

{

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

if(out.is_open())

{

out<<name<<endl;

out<<surname<<endl;

out<<middle<<endl;

out<<number<<endl;

out<<year<<endl;

out<<oldSalary<<endl;

out<<salary<<endl;

out<<surcharge<<endl;

out<<allowance<<endl;

out<<aid<<endl;

out<<vacationPay<<endl;

out<<tax.GetTax()<<endl;

}

out.close();

}