Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа #2 / LAB_2 / ListW
.cpp//” ©«: ListWoman.cpp
//Љ« бб "‘ЇЁб®Є Ё§®Ўа ¦ҐЁ© ¦ҐйЁ". ђҐ «Ё§ жЁп.
//Ђўв®а: ‘ҐаЈҐҐў Њ.‚. Ја.3352
//„ в : 23.04.06, ђҐ¤ ЄжЁп: 1.0
#include<iostream.h>
#include<conio.h>
#include"ListW.h"
unsigned int CListWoman::countreal = 0;
unsigned int CListWoman::countall = 0;
////////////////////////////////////////////////////////////////
CListWoman::CListWoman():ID(++countall) //Љ®бвагЄв®а.‘®§¤ вм ®ўл© бЇЁб®Є
{
countreal++;
printf ("ID(%d)CListWoman\n",ID);
First = NULL;
// getch();
}
//////////////////////////////////////////////////////////////////
CListWoman::~CListWoman() //„ҐбвагЄв®а. “з⮦Ёвм бЇЁб®Є
{
printf (">~ID(%d)CListWoman\n",ID);
// getch();
if (First != NULL)
{
if ((First->GetNext()) == First)
delete First;
else
{
CElemWoman* CurPtr = (First->GetNext());
while (CurPtr != First)
{
CurPtr = CurPtr->GetNext();
delete CurPtr->GetPred();
}
delete First;
}
}
printf ("<~ID(%d)CListWoman\n",ID);
countreal--;
getch();
}
////////////////////////////////////////////////////////////////
void CListWoman::AddElem () //‚бв ўЁвм Ґ«Ґ¬Ґв ў бЇЁб®Є
{
CElemWoman *NewElPtr = NULL;
NewElPtr = new CElemWoman;
if (First == NULL)
First = NewElPtr;
else
{
NewElPtr -> SetNext(First);
NewElPtr -> SetPred(First->GetPred());
First->GetPred()->SetNext(NewElPtr);
First ->SetPred(NewElPtr);
}
printf ("ќ«Ґ¬Ґв ўбв ў«Ґ\n");
getch();
}
////////////////////////////////////////////////////////////////
void CListWoman::PrintData () //‚뢥бвЁ нЄа ўбҐ н«Ґ¬Ґвл бЇЁбЄ
{
int i=0;
CElemWoman* CurPtr = First;
if (CurPtr == NULL)
printf ("‘ЇЁб®Є Їгбв\n");
else
do
{
i++;
//printf (">ID(%d)†ҐйЁ ь%d\n",ID,i);
CurPtr->GetWoman()->PrintData();
//printf ("<ID(%d)†ҐйЁ ь%d\n",ID,i);
CurPtr = CurPtr->GetNext();
getch();
}while (CurPtr!=First);
getch();
}
////////////////////////////////////////////////////////////////
void CListWoman::MoveOne () // ЏҐаҐ¬ҐбвЁвм ®¤Ё н«Ґ¬Ґв
{
CElemWoman* CurPtr = First;
if (CurPtr == NULL)
printf ("‘ЇЁб®Є Їгбв\n");
else
{
int num;
//int i=1;
printf ("‚ўҐ¤ЁвҐ ®¬Ґа н«Ґ¬Ґв ¤«п б¤ўЁЈ (>0)");
scanf("%d",&num);
while (CurPtr!=(First->GetPred()) && (num!=(CurPtr->GetWoman()->GetID())))
{
//i++;
CurPtr = CurPtr->GetNext();
}
if (num!=(CurPtr->GetWoman()->GetID()))
printf ("ќ«Ґ¬Ґв Ї®¤ в ЄЁ¬ ®¬Ґа®¬ ў бЇЁбЄҐ Ґв\n");
else
{
double dx, dy;
printf ("‚ўҐ¤ЁвҐ ўҐ«ЁзЁг ЇҐаҐ¬ҐйҐЁп Ї® ®бЁ ЎбжЁбб: ");
scanf("%lf",&dx);
printf ("‚ўҐ¤ЁвҐ ўҐ«ЁзЁг ЇҐаҐ¬ҐйҐЁп Ї® ®бЁ ®а¤Ё в: ");
scanf("%lf",&dy);
CurPtr->GetWoman()->MoveDX(dx);
CurPtr->GetWoman()->MoveDY(dy);
printf ("ЏҐаҐ¬ҐйҐЁҐ Їа®Ё§ўҐ¤Ґ®");
printf ("Ї® ®бЁ ЎбжЁбб %.0lf Ї® ®бЁ ®а¤Ё в %.0lf\n",dx,dy);
}
}
getch();
}
////////////////////////////////////////////////////////////////
void CListWoman::MoveAll () // ЏҐаҐ¬ҐбвЁвм ўбҐ н«Ґ¬Ґвл
{
CElemWoman* CurPtr = First;
if (CurPtr == NULL)
printf ("‘ЇЁб®Є Їгбв\n");
else
{
double dx, dy;
printf ("‚ўҐ¤ЁвҐ ўҐ«ЁзЁг ЇҐаҐ¬ҐйҐЁп Ї® ®бЁ ЎбжЁбб: ");
scanf("%lf",&dx);
printf ("‚ўҐ¤ЁвҐ ўҐ«ЁзЁг ЇҐаҐ¬ҐйҐЁп Ї® ®бЁ ®а¤Ё в: ");
scanf("%lf",&dy);
do
{
CurPtr->GetWoman()->MoveDX(dx);
CurPtr->GetWoman()->MoveDY(dy);
CurPtr = CurPtr->GetNext();
}while (CurPtr!=First);
printf ("ЏҐаҐ¬ҐйҐЁҐ Їа®Ё§ўҐ¤Ґ®");
printf ("Ї® ®бЁ ЎбжЁбб %.0lf Ї® ®бЁ ®а¤Ё в %.0lf\n",dx,dy);
}
getch();
}
////////////////////////////////////////////////////////////////
void CListWoman::ClearList () // ЋзЁбвЁвм бЇЁб®Є
{
CElemWoman* CurPtr = First;
if (CurPtr == NULL)
printf ("‘ЇЁб®Є Їгбв\n");
else
{
CElemWoman* PredPtr = First;
CElemWoman* CurPtr = First;
do
{
PredPtr = CurPtr;
CurPtr = CurPtr->GetNext();
delete PredPtr;
}while (CurPtr != First);
First = NULL;
printf ("CЇЁб®Є ®зЁйҐ\n");
}
getch();
}
//////////////////////////////////////////////////////////////////
unsigned int CListWoman::GetCountReal() //Ї®«гзЁвм Є®«ЁзҐбвў® бгйҐбвўгойЁе ®ЎкҐЄв®ў
{
return countreal;
}
Соседние файлы в папке LAB_2