View difference between Paste ID: zzVWDvDa and kZkLqNX4
SHOW: | | - or go back to the newest paste.
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,height,ratio,lenght,side1,side2,side3,depth;
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);
30+
    fflush;
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\n");
34-
    scanf("%i",&opc1);
34+
    scanf("%i%*c",&opc1);
35
36
    system("cls");
37
38
    if((opc1>=1)&&(opc1<=8))
39
     {
40
     switch(opc1)
41
     {
42
43
     /* Rectangle figure*/
44
     case 1: {printf("\nInserta la medida de la base\n");
45-
              scanf("%i",&base);
45+
              scanf("%i%*c",&base);
46
              printf("\nInserta la medida de la altura\n");
47-
              scanf("%i",&height);
47+
              scanf("%i%*c",&height);
48
              printf("\n\nArea: %i\nPerimetro: %i\n\n",area_rectang(base,height), perim_rectang(base,height));
49
              break;}
50
51
    /*Triangle*/
52
     case 2: {printf("\nInserta la medida de la base\n");
53-
              scanf("%i",&base);
53+
              scanf("%i%*c",&base);
54
              printf("\nInserta la medida de la altura\n");
55-
              scanf("%i",&height);
55+
              scanf("%i%*c",&height);
56
              printf("\nInserta la medida de los tres lados\n");
57-
              scanf("%i%i%i",&side1,&side2,&side3);
57+
              scanf("%i%*c %i%*c %i%*c",&side1,&side2,&side3);
58
              printf("\n\nArea: %i\nPerimetro: %i\n\n",area_triang(base,height),perim_triang(side1,side2,side3));
59
              break;}
60
61
     /*Circle*/
62
     case 3: {printf("\nInserta el radio\n");
63-
              scanf("%i",&ratio);
63+
              scanf("%i%*c",&ratio);
64
              printf("\n\nArea: %i\nPerimetro: %i\n\n",area_circ(ratio),perim_circ(ratio));
65
              break;}
66
67
     /*Paralelogram*/
68
     case 4: {printf("\nInserte la base\n");
69-
              scanf("%i",&base);
69+
              scanf("%i%*c",&base);
70
              printf("\nInserte la altura\n");
71-
              scanf("%i",&height);
71+
              scanf("%i%*c",&height);
72
              printf("\n\nArea: %i\nPerimetro: %i\n\n",area_rectang(base,height),perim_paral(base,height));
73
              break;}
74
     /*Cylinder*/
75
     case 5: {printf("\nInserte el radio\n");
76-
              scanf("%i",&ratio);
76+
              scanf("%i%*c",&ratio);
77
              printf("\nInserte la altura\n");
78-
              scanf("%i",&height);
78+
              scanf("%i%*c",&height);
79
              printf("\n\nArea: %i\nVolumen: %i\n\n",area_cyl(ratio, height),volum_cyl(ratio,height));
80
              break;}
81
82
     /*Sphere*/
83
     case 6: {printf("\n\nInserte el radio\n");
84-
              scanf("%i",&ratio);
84+
              scanf("%i%*c",&ratio);
85
              printf("\n\nArea: %i\nVolumen: %i\n\n",area_sphere(ratio),volum_sphere(ratio));
86
              break;}
87
88
     /*Rectangular prism*/
89
     case 7: {printf("\n\nInserte la longitud\n");
90-
              scanf("%i",&lenght);
90+
              scanf("%i%*c",&lenght);
91
              printf("\nInserte la profundidad\n");
92-
              scanf("%i",&depth);
92+
              scanf("%i%*c",&depth);
93
              printf("\nInserte la altura\n");
94-
              scanf("%i",&height);
94+
              scanf("%i%*c",&height);
95
              printf("\n\nArea: %i\nVolume: %i\n\n",area_prism(lenght,depth,height),volum_prism(lenght,depth,height));
96
              break;}
97
98
     /*Circular cone*/
99
     case 8: {printf("\n\nInserte el radio\n");
100-
              scanf("%i",&ratio);
100+
              scanf("%i%*c",&ratio);
101
              printf("\nInserte la altura\n");
102-
              scanf("%i",&height);
102+
              scanf("%i%*c",&height);
103
              printf("\n\nArea: %i\nVolumen: %i\n\n",area_cone(ratio,height),volum_cone(ratio,height));
104
              break;}
105
106
     default: break;}
107
     }
108
    else {
109
          printf("Opcion incorrecta");
110
          getchar();
111-
    fflush(stdin);
111+
112
    printf("\n\nDesea realizar otra operacion?  1) Si  2)No\n");
113-
    scanf("%i",&opt2);
113+
    scanf("%i%*c",&opt2);
114
    }while(opt2==1);
115
    return 0;
116
}
117
118
//Functions
119
/*Area of rectangle*/
120
int area_rectang(int base, int height)
121
{
122
  return (base*height);
123
}
124
125
/*Perimeter of rectangle*/
126
int perim_rectang(int base, int height)
127
{
128
  return (2*(base+height));
129
}
130
131
/*Area of triangle*/
132
int area_triang(int base, int height)
133
{
134
  return (base*height)/2;
135
}
136
137
/*Perimeter of triangle*/
138
int perim_triang(int side1,int side2,int side3)
139
{
140
  return (side1+side2+side3);
141
}
142
143
/*Area of circle*/
144
int area_circ(int ratio)
145
{
146
  return M_PI*ratio*ratio;
147
}
148
149
/*Perimeter of Circle*/
150
int perim_circ(int ratio)
151
{
152
  return 2*M_PI*ratio;
153
}
154
155
156
/*Perimeter of Paralelogram*/
157
int perim_paral(int base, int height)
158
{
159
  return (2*base)+(2*height);
160
}
161
162
/*Area of cylinder*/
163
int area_cyl(int ratio, int height)
164
{
165
  return 2*M_PI*ratio*(ratio+height);
166
}
167
168
/*Volume of cylinder*/
169
int volum_cyl(int ratio, int height)
170
{
171
  return M_PI*ratio*ratio*height;
172
}
173
174
/*Area of sphere*/
175
int area_sphere(int ratio)
176
{
177
  return 4*M_PI*ratio*ratio;
178
}
179
180
/*volume of sphere*/
181
int volum_sphere(int ratio)
182
{
183
  return (4/3)*M_PI*pow(ratio,3);
184
}
185
186
/*Area of rectangular prism*/
187
int area_prism(int lenght,int depth,int height)
188
{
189
  return 2*(lenght*depth)+2*(depth*height)+2*(height*lenght);
190
}
191
192
/*Volume of rectangular prism*/
193
int volum_prism(int lenght, int depth, int height)
194
{
195
  return lenght*depth*height;
196
}
197
198
/*Area of cone*/
199
int area_cone(int ratio, int height)
200
{
201
  return M_PI*pow(ratio,2)*sqrt(pow(height,2)+pow(ratio,2));
202
}
203
204
/*Volume of cone*/
205
int volum_cone(int ratio, int height)
206
{
207
  return (M_PI*pow(ratio,2)*height)/3;
208
}