分配的參數是我創建了一個程序,可以計算圓形或方形的面積。程序功能;然而卻出現了意想不到的結果。當我輸入半徑26時,程序返回的半徑值爲1.97674e-307並且面積爲0.並且該區域的面積爲0.下面是我所擁有的...使用C++和OOP創建面積計算程序
main。 CPP
#include <iostream>
#include "Circle.h"
#include "Square.h"
int main()
{
using namespace std;
int question;
cout << "Welcome to the area calculation program.\n"
<< "I can help you calculate the area of a square or circle.\n"
<< endl;
cout << "Please enter 1 to calculate the area of a circle and 2 for a square: ";
cin >> question;
switch(question)
{
case 1:
{
cout << "Please enter the radius of the circle: ";
double radius;
Circle r(radius);
cin >> radius;
cout << "The area of a circle with a radius with a radius of " << r.getRadius() << " has an area of " << r.getArea() << endl;
break;
}
case 2:
{
cout << "Please enter the side of the square: ";
double side;
Square s(side);
cin >> side;
cout << "The are of a square with a side of " << side << " has an area of " << s.getArea() << endl;
}
}
return 0;
}
Circle.cpp
Square.cpp
#include "Square.h"
Square::Square(double s)
{
side = s;
}
double Square::getArea()
{
return side * side;
}
Circle.h
const double PI = 3.1415926;
class Circle
{
private:
double radius;
public:
Circle(double); // double is for the radius
double getRadius();
double getArea();
};
Square.h
class Square
{
private:
double side;
public:
Square(double);
double getArea();
};
[C++浮點精度]的可能的複製(https://stackoverflow.com/questions/2909427/c-floating-point-precision) – eyllanesc
讀此:https://stackoverflow.com/questions/ 2100490 /浮點錯誤示例 – eyllanesc