#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; }

评论