基础C ++程序中的数学错误

时间:2010-06-14 02:19:16

标签: c++ types

我正在使用基本的C ++程序来确定矩形的面积和周长。我的程序适用于整数,但当我使用带小数的任何数字时会崩溃。我得到的印象是我要留下一些东西,但由于我是一个完全的初学者,我不知道是什么。

以下是来源:

#include <iostream>

using namespace std;

int main()
{
    // Declared variables
int length;  // declares variable for length
int width;  // declares variable for width
int area;  // declares variable for area
int perimeter; // declares variable for perimeter


    // Statements
cout << "Enter the length and the width of the rectangle: ";  // states what information to enter
cin >> length >> width;  // user input of length and width
cout << endl;  // closes the input
area = length * width;  // calculates area of rectangle
perimeter = 2 * (length + width);  //calculates perimeter of rectangle
cout << "The area of the rectangle = " << area << " square units." <<endl;  // displays the calculation of the area
cout << "The perimeter of the rectangle = " << perimeter << " units." << endl;  // displays the calculation of the perimeter
system ("pause"); // REMOVE BEFORE RELEASE - testing purposes only

return 0;
}

5 个答案:

答案 0 :(得分:2)

将您的所有int类型变量更改为doublefloat。我个人会使用double,因为它们的精确度高于float types

答案 1 :(得分:2)

int数据类型代表整数(即正整数和负整数,包括0)

如果要表示十进制数,则需要使用float。

答案 2 :(得分:2)

使用float或double类型,就像其他已经说过的那样。

但它并不那么简单。您需要了解浮点数实际上是什么,以及为什么(0.1 + 0.1 + 0.1)!=(0.3)。这是一个复杂的主题,所以我甚至不会在这里解释它 - 只要记住浮点数小数,即使计算机以小数形式显示给你

答案 3 :(得分:0)

使用浮点数而不是整数(int)是一个整数,浮点数允许小数位(如同双精度数)

float length;  // declares variable for length
float width;  // declares variable for width
float area;  // declares variable for area
float perimeter; // declares variable for perimete

答案 4 :(得分:0)

您已将变量定义为整数。请改用double。

此外,您可以查找cout的一些格式以定义您想要显示的小数位数等。