Stack using C
PROGRAM : For Stack using C

 
#include <stdio.h>
#include <stdlib.h>
#define MAX 4
struct stack
{
    int a[MAX];
    int top;
}st;
int stfull(){
    if(st.top>=MAX-1)return 1;
    else return 0;
}
int push(int val){
    st.top++;
    st.a[st.top]=val;
}
int stempty(){
    if(st.top==-1)return 1;
    else return 0;
    }
int pop(){
    st.top--;
    return 0;
    }
int display(){
    int i;
    if(stempty()==1)printf("\nstack is empty\n");
    else{
            printf("\n");
    for(i=st.top;i>=0;i--){
        printf("|%d|",st.a[i]);
        }
    }
    return 0;
}
/* Main function */
    int main()
{
 int val;
 int choice;
    st.top=-1;
   label:
    printf("\nselect the choice\n");
    printf("1=push\n2=pop\n3=peep\n4=display\n5=clear screen\n");
    scanf("%d",&choice);
    switch(choice){
        case 1:
            if(stfull()==1){
                printf("\nstack is full\n");
            }
            else{
                printf("\nenter value=");
            scanf("%d",&val);
                push(val);
            }
                goto label;
            break;
        case 2:
            if(stempty()==1){printf("\nstack is empty\n");}
            else {
                    printf("\n%d deleted\n",st.a[st.top]);
                    val=pop();
            }
            goto label;
            break;
        case 3:  printf("\n a[st.top]=%d",st.a[st.top]);
            goto label;
           break;
      case 4:
          display();
          goto label;
          break;
      case 5:
         system("cls");
         goto label;
           break;
        default:
            exit(0);
    }
    return 0;
}
 
 
Comments
Post a Comment