daily pastebin goal
68%
SHARE
TWEET

Untitled

a guest Mar 13th, 2018 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // лаба 2.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. //using namespace std;
  7.  
  8. struct Stack //
  9. {
  10.     int info;
  11.     Stack * next;
  12. } *begin, *t;
  13.  
  14. Stack* InStack(Stack*, int);
  15. void View(Stack*);
  16. void Del_All(Stack **);
  17.  
  18. //---------------------- Функция добавления элемента в Стек -----------------------------
  19. Stack* InStack(Stack*p, int in)
  20. {
  21.     Stack *t = new Stack;
  22.     t->info = in;
  23.     t->next = p;
  24.     return t;
  25. }
  26. //--------------------------- Функция просмотра Стека---------------------------------------
  27. void View(Stack *p)
  28. {
  29.     Stack *t = p;
  30.     while (t != NULL) {
  31.         std::cout << "   " << t->info << std::endl;
  32.         t = t->next;
  33.     }
  34. }
  35. //--------------------------- Функция освобождения памяти --------------------------------
  36. void Del_All(Stack **p)
  37. {
  38.     while (*p != NULL)
  39.     {
  40.         t = *p;
  41.         *p = (*p)->next;
  42.         delete t;
  43.     }
  44. }
  45.  
  46. void main()
  47. {
  48.     int i, in, n, kod;
  49.     while (true) {
  50.         std::cout << "\n\tSO3DAT' - 1\n\tDOBAVIT' - 2\n\tPROSMOTRET' - 3\n\tO4ISTIT' - 4\n\tEXIT - 0";
  51.         std::cin >> kod;
  52.         switch (kod)
  53.         {
  54.         case 1: case 2:
  55.             if (kod == 1 && begin != NULL)
  56.             {
  57.                 std::cout << "o4istka pam9ti!" << std::endl;
  58.                 break;
  59.             }
  60.             std::cout << "Input kol = " << std::endl;
  61.             std::cin >> n;
  62.             for (i = 1; i <= n; i++);
  63.             {
  64.                 in = rand();
  65.                 begin = InStack(begin, in);
  66.             }
  67.             if (kod == 1) std::cout << "SO3DAT' " << n << std::endl;
  68.             else std::cout << "DOBAVIT' " << n << std::endl;
  69.             break;
  70.         case 3:
  71.             if (!begin)
  72.             {
  73.                 std::cout << "Stack Pust!" << std::endl;
  74.                 break;
  75.             }
  76.             std::cout << "-----Stack-----" << std::endl;
  77.             View(begin);
  78.             break;
  79.         case 4:
  80.             Del_All(&begin);
  81.             std::cout << "Память свободна!" << std::endl;
  82.             break;
  83.         default:
  84.             return;
  85.         }
  86.     }
  87.            
  88.        
  89.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top