Abstract Data Type Point C++ Source Code Ver. 1.3


  1. #include "stdio.h"
  2. #include "ADTPOINT.H"
  3. #include "BOOLEAN.H"
  4.  
  5. point makepoint( int x, int y)
  6. {
  7.       //buat variabel point bernama temp
  8.       point temp;
  9.      
  10.       //mengisikan nilai x dan y
  11.       temp.x = x;
  12.       temp.y = y;
  13.  
  14.       return temp;
  15. }
  16.  
  17. point pluspoint(point p1,point p2)
  18. {
  19.       point p;
  20.      
  21.       p.x = p1.x+p2.x;
  22.       p.y = p1.y+p2.y;
  23.      
  24.       return p;
  25. }
  26.  
  27. point minuspoint(point p1,point p2)
  28. {
  29.       point p;
  30.      
  31.       p.x = p1.x p2.x;
  32.       p.y = p1.y p2.y;
  33.      
  34.       return p;    
  35. }
  36.  
  37. void tulispoint(point p)
  38. {    
  39.      //mencetak nilai x dan y di layar
  40.      printf("\nX = %d, Y = %d\n", p.x, p.y);    
  41. }
  42.  
  43. int getabsis(point p)
  44. {
  45.     return p.x;
  46. }
  47.  
  48. int getordinat(point p)
  49. {
  50.     return p.y;    
  51. }
  52.  
  53. void bacapoint(point *p)
  54. {
  55.     //membaca nilai x dan y dari keyboard
  56.     int x,y;
  57.     printf("Masukkan nilai X : ");
  58.     scanf("%d", &x);
  59.     printf("Masukkan nilai Y : ");
  60.     scanf("%d", &y);
  61.    
  62.     *p = makepoint(x,y);
  63. }    
  64.  
  65. void setabsis(point *p,int newx)
  66. {
  67.      (*p).x=newx;
  68.      printf("X yang baru = %d, Y = %d\n", newx, (*p).y);    
  69. }
  70.  
  71. void setordinat(point *p,int newy)
  72. {
  73.      (*p).y=newy;
  74.      printf("X = %d, Y yang baru= %d\n", (*p).x, newy);    
  75. }    
  76.  
  77.  
  78. boolean EQ(point p1,point p2)
  79. {
  80.         if ((p1.x == p2.x) && (p1.y == p2.y))
  81.                   return true;
  82.         else
  83.                   return false;
  84. }
  85.  
  86. boolean NEQ(point p1,point p2)
  87. {
  88.         if(!EQ(p1,p2))
  89.                       return true;
  90.         else
  91.                       return false;        
  92. }
  93.  
  94. boolean LT(point p1,point p2)
  95. {
  96.          if ((p1.x < p2.x) && (p1.y < p2.y))
  97.                      return true;
  98.          else        
  99.                      return false;
  100. }
  101.  
  102. boolean GT(point p1,point p2)
  103. {
  104.         if (!LT(p1,p2) && NEQ(p1,p2))
  105.                        return true;
  106.         else
  107.                        return false;
  108. }                    
  109.  
  110. boolean isorigin(point p)
  111. {
  112.         if ((p.x==0) && (p.y==0))
  113.                         return true;
  114.         else
  115.                         return false;
  116. }
  117.  
  118. boolean isonsbx(point p)
  119. {
  120.         if (p.x==0)
  121.                    return true;
  122.         else
  123.                    return false;
  124. }
  125.  
  126. boolean isonsby(point p)
  127. {
  128.         if (p.y==0)
  129.                    return true;
  130.         else
  131.                    return false;
  132. }
  133.  
  134. int kuadran(point p)
  135. {
  136.     int kd;
  137.    
  138.     if ((p.x>0) && (p.y>0))
  139.                  kd = 1;
  140.     else
  141.         if ((p.x<0) && (p.y>0))
  142.                      kd = 2;
  143.         else
  144.             if ((p.x<0) && (p.y<0))
  145.                         kd = 3;
  146.             else
  147.                 if ((p.x>0) && (p.y<0))
  148.                             kd = 4;
  149.                 else
  150.                     kd = 0;
  151.     return kd;
  152. }
  153.  
  154.  
  155.  

Syntax Highlighter menggunakan Quick Highlighter.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s