Advertisement
Icekilla

Untitled

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