#include #define MAX_SIZE 100 int top = -1; int stack[MAX_SIZE]; void push(int c) { if (top < MAX_SIZE - 1) { stack[++top] = c; } else { printf("Stack overflow\n"); } } int pop() { if (top >= 0) { return stack[top--]; } else { printf("Stack underflow\n"); return -1; } } void display() { printf("The stack is: "); for (int i = top; i >= 0; i--) { printf("%d\t", stack[i]); } printf("\n"); } int isEmpty() { return top == -1; } int peek() { if (!isEmpty()) { return stack[top]; } else { printf("Stack is empty\n"); return -1; } } int main() { int choice; while (1) { printf("1. Push\n2. Pop\n3. Display\n4. Peek\n5. Check if Empty\n6. Exit\n"); scanf("%d", &choice); switch (choice) { case 1: printf("Enter an element: "); int element; scanf("%d", &element); push(element); break; case 2: printf("The top element is: %d\n", pop()); break; case 3: display(); break; case 4: printf("The top element is: %d\n", peek()); break; case 5: if (isEmpty()) { printf("Stack is empty\n"); } else { printf("Stack is not empty\n"); } break; case 6: return 0; default: printf("Invalid choice.\n"); } } }