#ifndef MGR
#define MGR
class arraymgr
{
int total_elements,max_elements;
int * thearray;
public:
arraymgr(int);
~arraymgr();
bool addelement(int);
bool getelement(int,int &);
bool deleteelement(int);
bool findelement(int,int &);
void showelements();
int getsize();
};
#endif
#ifndef a
#define a
#include"mgr.h"
#include<iostream>
using namespace std;
arraymgr::arraymgr(int num)
{
max_elements=num;
total_elements=0;
thearray=new int [max_elements];
}
arraymgr::~arraymgr()
{
delete [] thearray;
}
bool arraymgr::addelement(int num2)
{
if(total_elements>=max_elements-1)
return false;
else
thearray[total_elements++]=num2;
return true;
}
bool arraymgr::getelement(int position,int& element)
{
if(position>total_elements||position<0)
return false;
else
element=thearray[position];
return true;
}
bool arraymgr::deleteelement(int position)
{
if(position>total_elements||position<0)
return false;
else
{
for(int i=position;i<=total_elements-1;i++)
thearray[i]=thearray[i+1];
total_elements--;
}
return true;
}
bool arraymgr::findelement(int position,int &element)
{
if(position>total_elements||position<0)
return false;
else
element=thearray[position];
return true;
}
void arraymgr::showelements()
{
cout<<endl;
for(int i=0;i<total_elements;i++)
cout<<thearray[i]<<" ";
cout<<endl;
}
int arraymgr::getsize()
{
return total_elements;
}
#endif
#ifndef b
#define b
#include"mgr.h"
#include"a.h"
#include<iostream>
using namespace std;
class applause
{
arraymgr* arraybase;
int menu();
void add();
void remove();
void retrieve();
void find();
void list();
void size();
public:
applause();
void run();
};
#endif
#ifndef c
#define c
#include"b.h"
#include<iostream>
using namespace std;
#define max 10
applause::applause()
{
arraybase=new arraymgr(max);
}
void applause::run()
{
int choice=menu();
while(choice!=7)
{
switch(choice)
{
case 1:
add();
break;
case 2:
remove();
break;
case 3:
retrieve();
break;
case 4:
find();
break;
case 5:
list();
break;
case 6:
size();
break;
}
choice=menu();
}
}
int applause::menu()
{
int choice;
cout<<"1.add a element."<<endl;
cout<<"2.remove a element."<<endl;
cout<<"3.retrive an item by its' position in the structure."<<endl;
cout<<"4.find a element."<<endl;
cout<<"5.show the elements of the list."<<endl;
cout<<"6.show the size of the list."<<endl;
cout<<"7.exit."<<endl;
cin>>choice;
return choice;
}
void applause::add()
{
int value;
cout<<endl<<"Enter a new element:";
cin>>value;
bool result=arraybase->addelement(value);
if(result)
cout<<endl<<"element added successfully."<<endl;
else
cout<<endl<<"failture to add a new element to the list."<<endl;
}
void applause::remove()
{
int position;
cout<<endl<<"please input the element deleted position: ";
cin>>position;
bool result=arraybase->deleteelement(position);
if(result)
cout<<endl<<"delete the element successfully."<<endl;
else
cout<<endl<<"failture to delete the element."<<endl;
}
void applause::retrieve()
{
int position,value;
cout<<endl<<"Enter the the element's postion:";
cin>>position;
bool result=arraybase->getelement(position,value);
if(result)
cout<<endl<<"the element is:"<<value<<endl;
else
cout<<endl<<"cannot get the element due to the position error."<<endl;
}
void applause::find()
{
int value,pos;
cout<<endl<<"please input the element:";
cin>>value;
bool result=arraybase->findelement(value,pos);
if(result)
cout<<endl<<"the elem"<<value<<"at "<<pos<<endl;
else
cout<<endl<<"cannot find the elem in the list."<<endl;
}
void applause::list()
{
arraybase->showelements();
}
void applause::size()
{
cout<<endl<<"there are "<<arraybase->getsize()
<<" elements int the list."<<endl;
}
#endif
#include"mgr.h"
#include"a.h"
#include"b.h"
#include"c.h"
#include<iostream>
using namespace std;
int main()
{
applause* theapp=new applause();
theapp->run();
return 0;
}
正文
面向对象c++数据结构2005-09-21 23:52:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/wojiele/5091.html
阅读(4433) | 评论(1)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论