有关圆的计算(C++)
1. 关于圆的基本概念
在小学,我们接触到4个有关圆的基本概念,分别是半径(r),直径(d),周长(c)和面积(s)。那么在C++中能否实现这样的运算呢?让我们来看一看C++是怎样实现的。
2. 公式
一共有12种情况。列一张表格来写出每两个量是怎么样转换的。
3.有关圆的计算代码
根据12种情况的转换代码和switch结构,可以写出下面代码:
#include<bits/stdc++.h>
#include<Windows.h>
const double pai = 3.14;
double r, d, c, s;
int fz1, fz2;
int main () {
puts("欢迎来到有关圆的计算工作室!");
Sleep(1000);
puts("Please select:\n1.求周长\n2.求面积\n3.求半径\n4.求直径(1~4)");
scanf("%d", &fz1);
switch (fz1) {
case 1: {
puts("Please select:\n1.给半径求周长\n2.给直径求周长\n3.给面积求周长(1~3)");
scanf("%d", &fz2);
switch(fz2) {
case 1: {
puts("请输入半径:");
scanf("%lf", &r);
c = 3.14*2*r;
printf("%.5lf", c);
break;
}
case 2: {
puts("请输入直径:");
scanf("%lf", &d);
c = 3.14*d;
printf("%.5lf", c);
break;
}
case 3: {
puts("请输入面积:");
scanf("%lf", &s);
c = 2*3.14*(s/2/3.14);
printf("%.5lf", c);
break;
}
}
break;
}
case 2: {
puts("Please select:\n1.给半径求面积\n2.给直径求面积\n3.给周长求面积(1~3)");
scanf("%d", &fz2);
switch(fz2) {
case 1: {
puts("请输入半径:");
scanf("%lf", &r);
s = 3.14*r*r;
printf("%.5lf", s);
break;
}
case 2: {
puts("请输入直径:");
scanf("%lf", &d);
s = pow(d/2, 2)*3.14;
printf("%.5lf", s);
break;
}
case 3: {
puts("请输入周长:");
scanf("%lf", &c);
s = pow(c/6.28, 2)*3.14;
printf("%.5lf", s);
break;
}
}
break;
}
case 3: {
puts("Please select:\n1.给面积求半径\n2.给直径求半径\n3.给周长求半径(1~3)");
scanf("%d", &fz2);
switch(fz2) {
case 1: {
puts("请输入面积:");
scanf("%lf", &s);
r = sqrt(s/3.14);
printf("%.5lf", r);
break;
}
case 2: {
puts("请输入直径:");
scanf("%lf", &d);
r = d/2;
printf("%.5lf", r);
break;
}
case 3: {
puts("请输入周长:");
scanf("%lf", &c);
r = c/2/3.14;
printf("%.5lf", r);
break;
}
}
break;
}
case 4: {
puts("Please select:\n1.给面积求直径\n2.给半径求直径\n3.给周长求直径(1~3)");
scanf("%d", &fz2);
switch(fz2) {
case 1: {
puts("请输入面积:");
scanf("%lf", &s);
d = sqrt(s/3.14)*2;
printf("%.5lf", d);
break;
}
case 2: {
puts("请输入半径:");
scanf("%lf", &d);
d = r*2;
printf("%.5lf", d);
break;
}
case 3: {
puts("请输入周长:");
scanf("%lf", &c);
d = c/3.14;
printf("%.5lf", d);
break;
}
}
break;
}
}
return 0;
}
4.运行代码样例
5.程序的用处
此程序专门用来解决一些复杂的圆计算问题。
下一个博客再见~