برنامه نویسیPrograming

برنامه نویسی pascal,C++,C

برنامه نویسیPrograming

برنامه نویسی pascal,C++,C

پشته(stack)

این بر نامه با استفاده از یک پشته(stack) عمل حذف درج و... را انجام می دهد

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#  define SIZE 20
class stack
{
   int mytop;
   int items[SIZE];
   public:
    stack();//tabe sazande
    int empty();//test khali naboodan poshte(0 or 1)
    void push(int x);//ezafe kardan adad
    void pop(int &); //hazf az poshte
    void top(int &);
    void display();//namayesh poshte
};
//************************ tarif tavabee *************************

//-------------------------------
stack::stack()
{
 mytop= (-1);
}
//-------------------------------
int stack::empty()
{
 return(mytop==(-1));
}
//-------------------------------
void stack::push(int x)
{
 if(mytop==(SIZE-1))
 {
  cout<<"\n\n\tSory,Stack is Full";
  cout<<"\n\tPress An Key To Contniue...";
  getch();
  exit(0);
 }
 else
  items[++mytop]=x;
}
//----------------------------------
void stack::pop(int &x)
{
 if(empty())
 {
  cout<<"\n\n\tSory,Stack Is Empty...";
  cout<<"\n\tPress Any key To Contenue...";
  getch();
  exit(0);
 }
 else
  x=items[mytop--];
}
//--------------------------------------
void stack::top(int &x)
{
 if(empty())
 {
  cout<<"\n\n\tSory,Stack Is Empty...";
  cout<<"\n\tPress Any key To Contenue...";
  getch();
  exit(0);
 }
 else
  x=items[mytop];
}
//-----------------------------------
void stack::display()
{
 if(mytop==-1)
  cout<<"\n\n\n\tStack Is Emptyyyyyyyyyyyyy!!";
 else
  for(int i=mytop;i>=0;i--)
   cout<<"\n\n    "<<items[i];
 getch();
}
//````````````````````````````````````````````````````````````
int menue();
//******************
//                   Main
//                         **********************
void main()
{
 int x;
 stack s;
 while(1)
 {
  clrscr();
  switch(menue())
  {
  case 1:

   s.display();
   break;

  case 2:
   cout <<"Enter a number to push in stack: ";
   cin>>x;
   s.push(x);
   break;

  case 3:
   s.pop(x);
   cout<<"\n\tpopd Voluvs is: "<<x;
   getch();
   break;

  case 4:
   s.top(x);
   cout<<"\n\tretrieved value is: "<<x;
   getch();
   break;

  case 5:
   exit(1);
  }//end case
 }//end wile
}//end

//-------------------------------------------
int menue()
{
 int x;
 textcolor(7);
 textbackground(1);
                 clrscr();
 
 cout<<"\n\n\n\t1. print stack";
 cout<<"\n\n\t2. Add to Stack";
 cout<<"\n\n\t3. pop from stack";
 cout<<"\n\n\t4. show top of stack";
 cout<<"\n\n\t5. Exit";
 cout<<"\n\n\n\n\tEnter your  select(1 - 5):\a ";
 cin>>x;
 return x;
}

نظرات 1 + ارسال نظر
صدف سه‌شنبه 5 آبان 1388 ساعت 11:43 ب.ظ http://tanhaeshghebaraniam.persianblog.ir

سلام ممنون بابت سایت خوبتون میشه لطفا برنامه ماشین حساب با استفاده ازپشته رو بذارید

سلام.
سعی می کنم در اولین فرصت برنامه مورد نظرتون رو رو بلاگ قرار بدم.

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد