常见图形,圆形、长方形和正方形面积的计算

编程计算图形的面积:
程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,
然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,
对正方形要求用户输入边长的值,计算出面积的值后将其显示出来。

#include<iostream>
using namespace std;

//定义符号常量
const float PI = 3.14;
//float const PI = 3.14;

//主函数
int main()
{
    //定义变量
    int iType;
    float a,b,radius,area;
    //输出提示信息
    cout << "please select a type(0-circular 1-rectangle 2-sequare):";
    //输入变量值
    cin >> iType;
    //利用switch语句进行判断和计算
    switch (iType)
    {
    case 0:
    cout << "please input the radius of circular :";
    cin >> radius; 
    area = PI * radius * radius;
    cout << "PI is " << PI <<endl;
    cout << "The area of circular is " << area <<"!" << endl;
    break ;

    case 1:
    cout << "please input the length and width of rectangle :" ;
    cin >>a >> b;
    area = a * b;
    cout << "The area of rectangle is " << area <<"!" <<endl;
    break;

    case 2:
    cout << "please input the width of sequare:";
    cin >> a;
    area = a*a;
    cout << "The area of sequare is " << area << "!" << endl;
    break;
    default:
        cout << "please input again!";
        break;
    }
    
    return 0;
}

在计算圆形面积的时候,会出现如下图中问题:

图中在左侧的变量监控中radius会显示出一长串小数点,而在控制台的结果输出中没有,并且这在长方形和正方形的面积计算中并没有出现。且在输入的半径值为小数比如1.3时,在监控栏中会看到1.29999995.
目前,我并不知道原因,如有看到此文的读者知道的请在评论区为我解惑,本人不胜感激。

上述问题问题的说法1:
定义的是float类型,单精度浮点数。 浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学记数法。所以浮点数在运算过程中通常伴随着因为无法精确表示而进行的近似或舍入。 改成double就可以了

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曾爱吃榴莲

非常感谢你的认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值