Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
77
Добавлен:
10.12.2013
Размер:
6.01 Кб
Скачать
#include <iostream.h>
#include<string.h>
#include "class.h"
//-------------------------------------------------------------------------------
bool KolSot(tObject*,int);
//-------------------------------------------------------------------------------
Org::Org()
{
	strcpy(name,"Нет Имени");
	kol_sotr=0;
}
//-------------------------------------------------------------------------------
Org::Org(char* Name,int Kol_sotr)
{
	strcpy(name,Name);
	kol_sotr=Kol_sotr;
}
//-------------------------------------------------------------------------------
Org::Org(const Org& org)
{
	strcpy(name,org.name);
	kol_sotr=org.kol_sotr;
}
//-------------------------------------------------------------------------------
Org::~Org()
{}
//-------------------------------------------------------------------------------
StrCom::StrCom():Org()
{	kol_zastr=0;}
//-------------------------------------------------------------------------------
StrCom::StrCom(char* Name,int Kol_sotr,int Kol_zastr):Org(Name,Kol_sotr)
{	kol_zastr=Kol_zastr;}
//-------------------------------------------------------------------------------
StrCom::StrCom(const StrCom& str)
{	kol_zastr=str.kol_zastr;}
//-------------------------------------------------------------------------------
StrCom::~StrCom() {}
//-------------------------------------------------------------------------------
void StrCom::Show()
{
	Rus("Строительная компания: ");Rus(name);cout<<endl;
	Rus("Кол-во сотрудников: ");cout<<kol_sotr<<endl;
	Rus("Кол-во застрахованных: "); cout<<kol_zastr<<endl<<endl;
}
//-------------------------------------------------------------------------------
Zavod::Zavod():Org()
{	kol_stan=0;}
//-------------------------------------------------------------------------------
Zavod::Zavod(char* Name,int Kol_sotr,int Kol_stan):Org(Name,Kol_sotr)
{	kol_stan=Kol_stan;}
//-------------------------------------------------------------------------------
Zavod::Zavod(const Zavod& zav)
{	kol_stan=zav.kol_stan;}
//-------------------------------------------------------------------------------
Zavod:: ~ Zavod() {}
//-------------------------------------------------------------------------------
void Zavod::Show()
{
	Rus("Завод: ");Rus(name);cout<<endl;
	Rus("Кол-во сотрудников: ");cout<<kol_sotr<<endl;
	Rus("Кол-во Станков: "); cout<<kol_stan<<endl<<endl;
}
//-------------------------------------------------------------------------------
SudCom::SudCom():Org()
{	kol_kor=0;}

//-------------------------------------------------------------------------------
SudCom::SudCom(char* Name,int Kol_sotr,int Kol_kor):Org(Name,Kol_sotr)
{	kol_kor=Kol_kor;}
//-------------------------------------------------------------------------------
SudCom::SudCom(const SudCom& sud)
{	kol_kor=sud.kol_kor;}
//-------------------------------------------------------------------------------
SudCom::~SudCom() {}
//-------------------------------------------------------------------------------
void SudCom::Show()
{
	Rus("Судостроительная компания: ");Rus(name);cout<<endl;
	Rus("Кол-во сотрудников: ");cout<<kol_sotr<<endl;
	Rus("Кол-во кораблей: "); cout<<kol_kor<<endl<<endl;
}
//-------------------------------------------------------------------------------
void Rus(char *Str)
{
unsigned char c;
for(int i=0;Str[i]!='\0';i++)
  {
  c=Str[i];
  if(c>127)
    {
    if(c<240)c-=64;
    else     c-=16;
    }
  cout<<c;
  }
}
//-------------------------------------------------------------------------------

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

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

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

List::List()
{
	strcpy(name,"Нет Имени");
	item=0;
}
//-------------------------------------------------------------------------------
List::List(char* Name)
{
	strcpy(name,Name);
	item=0;
}
//-------------------------------------------------------------------------------
List::~List()
{
	tItem*t=item;
	tItem*temp;
	while(t)
	{
		temp=t;
		t=t->next;
		delete temp;
	}
}
//-------------------------------------------------------------------------------
void List::Insert(tObject* Obj)
{
	tItem *t=new tItem;
	t->obj=Obj;
	t->next=item;
	item=t;
}
//-------------------------------------------------------------------------------
AllOrgList::AllOrgList():List() {}
//-------------------------------------------------------------------------------
AllOrgList::AllOrgList(char*Name):List(Name) {}
//-------------------------------------------------------------------------------
AllOrgList::~AllOrgList(){}
//-------------------------------------------------------------------------------
void AllOrgList::Show()
{
	Rus(name);cout<<"\n\n";
	tItem* t=item;
	while(t)
	{
		t->obj->Show();
		t=t->next;
	}
}
//-------------------------------------------------------------------------------
OrgList::OrgList():List() {}
//-------------------------------------------------------------------------------
OrgList::OrgList(char* Name):List(Name) {}
//-------------------------------------------------------------------------------
OrgList::~OrgList() {}
//-------------------------------------------------------------------------------
void OrgList::Show()
{
	Rus(name);cout<<"\n\n";
	tItem* t=item;
	while(t)
	{
		t->obj->Show();
		t=t->next;
	}
}
//-------------------------------------------------------------------------------
void OrgList::ForEach(PF action,int KolSotr)
{
	int t=0;
	Rus("--Итератор--");cout<<"\n\n";
	Rus("Организации с кол-ом сотрудников < 100 :");cout<<"\n\n";
	tItem* p=item;
	while(p)
	{
		if((*action)(p->obj,KolSotr)) 
		{
			p->obj->Show();
			t++;
		}
		p=p->next;
	}
	if(!t) Rus("Таких нет");
	cout<<endl;
}
//-------------------------------------------------------------------------------
Соседние файлы в папке Lab_3
  • #
    10.12.20132.35 Кб79Class.h
  • #
    10.12.20136.01 Кб77Fun.cpp
  • #
    10.12.20134.37 Кб78lab3.dsp
  • #
    10.12.2013538 б76Lab3.dsw
  • #
    10.12.201358.37 Кб76Lab3.ncb
  • #
    10.12.201348.64 Кб77Lab3.opt
  • #
    10.12.20131.26 Кб77lab3.plg