سایت اخبار و اطلاعات + فروشگاه اینترنتی
سلام
جواب تمارینی که در کلاس مطرح شده ::
1-یک پشته طراحی کنید که اعمالی روی آن انجام شود ( درج - حذف - پیمایش و ... )
جواب)
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
class stack
{
public:
int valu;
stack *next;
stack *prev;
};// end class stack
class stackclass
{
private:
int avalin;
stack *top;
public:
void add(int v)
{
stack *t;
if(avalin==0)
{
t=new stack();
t->valu=v;
t->prev=0;
t->next=0;
top=t;
avalin+=1;
}
else
{
t=new stack();
top->next=t;
t->prev=top;
t->next=0;
t->valu=v;
top=t;
avalin+=1;
}
}//end methode add()
void del()
{
if(top==0)
cout<<"\n\n CAN NOT DELETE! STACK IS EMPTY \n\n";
else
{
stack *t;
t=top;
top=top->prev;
delete (t);
avalin-=1;
}// end del methode()
}
void show()
{
if(top==0)
cout<<"\n\n CAN NOT SHOW! SATACK IS EMPTY \n\n";
else
cout<<top->valu;
}
stackclass()
{
top=0;
avalin=0;
}
};
int main()
{
clrscr();
stackclass sta;
char ch;
for(;;)
{
cout<<"\n i:insert d:delete s:show e:exit c:clear scrin\n command: ";
//cin>>ch;
ch=getche();
getch();
if(ch=="i")
{
int i;
cout<<"\n ENTER A NUMBER: ";
cin>>i;
sta.add(i);
cout<<"\n";
}
else if(ch=="d")
sta.del();
else if(ch=="s")
sta.show();
else if(ch=="e")
exit(0);
else if(ch=="c")
clrscr();
else
cout<<"\n BAD COMMAND \n";
}
getch();
return 0;
}
با تشکر از دوست عزیز آقای حسینی