Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // lab5 task3.cpp
- //
- #include "stdafx.h"
- #include <iostream>
- #include <stack>
- std::stack<int> my_stack;
- void function_show()
- {
- std::cout << "contents of the stack:\n";
- for (std::stack<int> dump = my_stack; !dump.empty(); dump.pop())
- std::cout << dump.top() << '\n';
- std::cout << "\n";
- }
- void function_isEmpty()
- {
- std::cout.setf(std::ios::boolalpha);
- std::cout << my_stack.empty() << "\n";
- }
- void function_push()
- {
- int value = 0;
- std::cout << "Enter a value push: ";
- std::cin >> value;
- my_stack.push(value);
- }
- void function_pop()
- {
- my_stack.pop();
- std::cout << "\n";
- }
- void function_top()
- {
- if (!my_stack.empty())
- {
- std::cout << "top element: " << my_stack.top();
- std::cout << "\n";
- }
- else
- {
- std::cout << "List is empty!Action is impossible!\n";
- }
- }
- int menu()
- {
- int value = 0;
- std::cout << "Select the menu item:\n";
- std::cout << "1.Push\n2.Pop\n3.Top\n4.Is empty\n5.Show\n6.Exit\n";
- std::cin >> value;
- switch (value)
- {
- case 1:
- system("cls");
- function_show();
- function_push();
- function_show();
- return menu();
- case 2:
- system("cls");
- if (!my_stack.empty())
- {
- function_show();
- function_pop();
- std::cout << "top element is removed.\n";
- function_show();
- }
- else
- {
- std::cout << "List is empty!Action is impossible!\n";
- }
- return menu();
- case 3:
- system("cls");
- function_top();
- return menu();
- case 4:
- function_isEmpty();
- return menu();
- case 5:
- system("cls");
- function_show();
- return menu();
- case 6:
- std::cout << "bye-bye, baby!" << (char) 01 << "\n";
- return 0;
- default:
- std::cout << "error input, retype, please:";
- return menu();
- }
- }
- int main()
- {
- menu();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement