×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: C
Posted by: Damian Pytkowski
Added: May 12, 2016 11:49 AM
Modified: May 14, 2016 11:18 AM
Views: 27
Tags: gui stack stos
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <windows.h>
  5. #include <string.h>
  6. #define SIZE 12
  7. float stack[SIZE];
  8. float *push(float *top,float value);
  9. float *pop(float *top,float *value);
  10. int isEmpty(float *top);
  11. void display(float *top);
  12. void main()
  13. {
  14.    int choose,i;
  15.    float *top=stack,value;
  16.    printf("\n\n\n1)Push\n2)Pop\n3)isEmpty\nq quit\nChoose: ");
  17.    while(scanf("%d",&choose)==1){
  18.         switch(choose){
  19.             case 1: printf("Set value: ");fflush(stdin);
  20.                     scanf("%f",&value);
  21.                     top=push(top,value); break;
  22.             case 2: printf("Picked: %f\n",value);Sleep(500);
  23.                     top=pop(top,&value); break;
  24.             case 3: printf("%d\n",isEmpty(top));Sleep(500);break;
  25.             default: printf("Invalid commend.");
  26.  
  27.         }
  28.         display(top);
  29.    }
  30. }
  31. float *push(float *top,float value)
  32. {
  33.      *top=value;
  34.      return ++top;
  35. }
  36. float *pop(float *top, float *value)
  37. {
  38.      --top;
  39.      *value=*top;
  40.      return top;
  41. }
  42. int isEmpty(float *top)
  43. {
  44.     if(top-stack>0) return 0;
  45.     else return 1;
  46. }
  47. void display(float *top)
  48. {
  49.     int i;
  50.     system("cls");
  51.     printf("\n\n");
  52.     for(i=0;i<top-stack;i++)
  53.             printf("%f ",stack[i]);
  54.         printf("\n");
  55.     printf("1)Push\n2)Pop\n3)isEmpty\nq quit\nChoose: ");
  56. }
  57.  
  58.  
  59.