Advertisement
Icekilla

Geocalc

Oct 22nd, 2012
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.63 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int base,height,area,perim,ratio,lenght,side1,side2,side3,depth;
  5.  
  6. int main()
  7. {
  8.     int opc;
  9.  
  10.     printf("Geocalc 1.0\n\n");
  11.  
  12.     do{
  13.     printf("Selecciona la figura con la que deseas trabajar:\n\n");
  14.     printf("1) Cuadrado o rectangulo\n2) Triangulo\n3) Circulo\n4) Paralelogramo\n5) Cilindro\n6) Esfera\n7) Prisma rectangular\n8) Cono circular\n");
  15.     scanf("%i",&opc);
  16.  
  17.     switch(opc){
  18.  
  19.      /* Rectangle figure*/
  20.      case 1: {printf("\nInserta la medida de la base\n");
  21.               scanf("%d",&base);
  22.               printf("\nInserta la medida de la altura\n");
  23.               scanf("%d",&height);
  24.               printf("\n\nArea: %d\nPerimetro: %d\n\n",area_rectang(base,height), perim_rectang(base,height));
  25.               break;}
  26.  
  27.     /*Triangle*/
  28.      case 2: {printf("\nInserta la medida de la base\n");
  29.               scanf("%d",&base);
  30.               printf("\nInserta la medida de la altura\n");
  31.               scanf("%d",&height);
  32.               printf("\nInserta la medida de los tres lados\n");
  33.               scanf("%d%d%d",&side1,&side2,&side3);
  34.               printf("\n\nArea: %d\nPerimetro: %d\n\n",area_triang(base,height),perim_triang(side1,side2,side3));
  35.               break;}
  36.  
  37.      /*Circle*/
  38.      case 3: {printf("\nInserta el radio\n");
  39.               scanf("%d",&ratio);
  40.               printf("\n\nArea: %d\nPerimetro: %d\n\n",area_circ(ratio),perim_circ(ratio));
  41.               break;}
  42.  
  43.      /*Paralelogram*/
  44.      case 4: {printf("\nInserte la base\n");
  45.               scanf("%d",&base);
  46.               printf("\nInserte la altura\n");
  47.               scanf("%d",&height);
  48.               printf("\n\nArea: %d\nPerimetro: %\n\n",area_rectang(base,height),perim_paral(base,height));
  49.               break;}
  50.      /*Cylinder*/
  51.      case 5: {printf("\nInserte el radio\n");
  52.               scanf("%d",&ratio);
  53.               printf("\nInserte la altura\n");
  54.               scanf("%d",&height);
  55.               printf("\n\nArea: %d\nVolumen: %d\n\n",area_cyl(ratio, height),volum_cyl(ratio,height));
  56.               break;}
  57.  
  58.      /*Sphere*/
  59.      case 6: {printf("\n\nInserte el radio\n");
  60.               scanf("%d",&ratio);
  61.               printf("\n\nArea: %d\nVolumen: %d\n\n",area_sphere(ratio),volum_sphere(ratio));
  62.               break;}
  63.  
  64.      /*Rectangular prism*/
  65.      case 7: {printf("\n\nInserte la longitud\n");
  66.               scanf("%d",&lenght);
  67.               printf("\nInserte la profundidad\n");
  68.               scanf("%d",&depth);
  69.               printf("\nInserte la altura\n");
  70.               scanf("%d",&height);
  71.               printf("\n\nArea: %d\nVolume: %d\n\n",area_prism(lenght,depth,height),volum_prism(lenght,depth,height));
  72.               break;}
  73.  
  74.      /*Circular cone*/
  75.      case 8: {printf("\n\nInserte el radio\n");
  76.               scanf("%d",&ratio);
  77.               printf("\nInserte la altura\n");
  78.               scanf("%d",&height);
  79.               printf("\n\nArea: %d\nVolumen: %d\n\n",area_cone(ratio,height),volum_cone(ratio,height));
  80.               break;}
  81.  
  82.      default: printf("\nOpción incorrecta. Intentar de nuevo?  1) Si  2)No\n");
  83.               scanf("%i",&opc);
  84.               break;}
  85.  
  86.     printf("\n\n\nDesea realizar otra operacion?  1) Si  2)No\n");
  87.     scanf("%i",&opc);
  88.  
  89.     }while(opc==1);
  90.     return 0;
  91. }
  92.  
  93. //Functions
  94. /*Area of rectangle*/
  95. int area_rectang(base,height)
  96. {
  97.   return (base*height);
  98. }
  99.  
  100. /*Perimeter of rectangle*/
  101. int perim_rectang()
  102. {
  103.   return (2*(base+height));
  104. }
  105.  
  106. /*Area of triangle*/
  107. int area_triang()
  108. {
  109.   return (base*height)/2;
  110. }
  111.  
  112. /*Perimeter of triangle*/
  113. int perim_triang(int side1,int side2,int side3)
  114. {
  115.   return (side1+side2+side3);
  116. }
  117.  
  118. /*Area of circle*/
  119. int area_circ()
  120. {
  121.   return M_PI*ratio*ratio;
  122. }
  123.  
  124. /*Perimeter of Circle*/
  125. int perim_circ()
  126. {
  127.   return 2*M_PI*ratio;
  128. }
  129.  
  130.  
  131. /*Perimeter of Paralelogram*/
  132. int perim_paral()
  133. {
  134.   return (2*base)+(2*height);
  135. }
  136.  
  137. /*Area of cylinder*/
  138. int area_cyl()
  139. {
  140.   return 2*M_PI*ratio*(ratio+height);
  141. }
  142.  
  143. /*Volume of cylinder*/
  144. int volum_cyl()
  145. {
  146.   return M_PI*ratio*ratio*height;
  147. }
  148.  
  149. /*Area of sphere*/
  150. int area_sphere()
  151. {
  152.   return 4*M_PI*ratio*ratio;
  153. }
  154.  
  155. /*volume of sphere*/
  156. int volum_sphere()
  157. {
  158.   return (4/3)*M_PI*pow(ratio,3);
  159. }
  160.  
  161. /*Area of rectangular prism*/
  162. int area_prism()
  163. {
  164.   return 2*(lenght*depth)+2*(depth*height)+2*(height*lenght);
  165. }
  166.  
  167. /*Volume of rectangular prism*/
  168. int volum_prism(int lenght, int depth)
  169. {
  170.   return lenght*depth*height;
  171. }
  172.  
  173. /*Area of cone*/
  174. int area_cone()
  175. {
  176.   return M_PI*pow(ratio,2)*sqrt(pow(height,2)+pow(ratio,2));
  177. }
  178.  
  179. /*Volume of cone*/
  180. int volum_cone()
  181. {
  182.   return (M_PI*pow(ratio,2)*height)/3;
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement