我正在使用基本的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;
}
答案 0 :(得分:2)
将您的所有int
类型变量更改为double
或float
。我个人会使用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的一些格式以定义您想要显示的小数位数等。