File: Stare vježbe/vjezbe08/49__stack.c

  1. /*
  2.   49__stack.c
  3.   Implementacija funkcija za rad sa stogom.
  4.   Staticne globalne varijable vrh_stoga i stog vidljive su samo
  5.   unutar ove datoteke.
  6. */
  7.  
  8.  
  9. #include <stdio.h>
  10. #include "49__kalkulator.h"
  11.  
  12. static int vrh_stoga = 0;
  13. static double stog[MAXSTOG];
  14.  
  15.  
  16. void push ( double f )
  17. {
  18. /* stavlja f na vrh stoga */
  19.  
  20. if (vrh_stoga < MAXSTOG)
  21. stog[vrh_stoga++] = f;
  22. else
  23. printf("Greska: stog je prepunjen %g\n", f);
  24. }
  25.  
  26.  
  27. double pop (void)
  28. {
  29. /* vraca broj koji je na vrhu stoga i uklanja ga sa stoga */
  30.  
  31. if (vrh_stoga > 0)
  32. return stog[--vrh_stoga];
  33. else
  34. {
  35. printf("greska: prazan stog\n");
  36. return 0.0;
  37. }
  38. }
  39.