Advertisement
Icekilla

geocalc

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