要计算圆的面积,通常我们需要知道圆的半径。然而,如果你只有圆内接正方形的边长,我们也可以通过这个边长来计算圆的面积。
下面是一个简单的C++程序,用于计算给定圆内接正方形边长的圆的面积:
#include <iostream>
#include <cmath>
int main() {
double s; // 正方形的边长
std::cout << "请输入圆内接正方形的边长: ";
std::cin >> s;
double area = (M_PI * s * s) / 2; // 计算圆的面积
std::cout << "圆的面积为: " << area << std::endl;
return 0;
}
问题:输入了非法值(如负数或非数字字符)。
解决方法:在读取输入之前添加验证逻辑,确保输入的是正数且为有效数字。如果输入无效,可以提示用户重新输入。
#include <iostream>
#include <cmath>
#include <limits>
int main() {
double s;
while (true) {
std::cout << "请输入圆内接正方形的边长(正数): ";
if (std::cin >> s && s > 0) {
break;
} else {
std::cout << "无效输入,请重新输入。\n";
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
}
double area = (M_PI * s * s) / 2;
std::cout << "圆的面积为: " << area << std::endl;
return 0;
}
这样,程序就能处理非法输入,并提示用户进行正确的输入。
领取专属 10元无门槛券
手把手带您无忧上云