मैं एक आयत के क्षेत्र और परिधि को निर्धारित करने के लिए एक बुनियादी सी ++ प्रोग्राम के साथ काम कर रहा हूं। मेरा प्रोग्राम पूर्ण संख्याओं के लिए ठीक काम करता है लेकिन जब मैं दशमलव के साथ किसी भी संख्या का उपयोग करता हूं तो अलग हो जाता है। मुझे यह आभास होता है कि मैं कुछ छोड़ रहा हूं, लेकिन चूंकि मैं पूरी तरह से नौसिखिया हूं, मुझे नहीं पता कि क्या।

नीचे स्रोत है:

#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;
}
4
H Bomb1013 14 जून 2010, 06:19

5 जवाब

सबसे बढ़िया उत्तर

अपने सभी int टाइप वेरिएबल को double या float में बदलें। मैं व्यक्तिगत रूप से double का उपयोग करूंगा क्योंकि उनके पास float types से अधिक सटीकता है।

2
15 जून 2010, 02:04

Int डेटाटाइप पूर्णांक के लिए खड़ा है (यानी सकारात्मक और नकारात्मक पूर्ण संख्याएं, जिनमें 0 शामिल हैं)

यदि आप दशमलव संख्याओं का प्रतिनिधित्व करना चाहते हैं, तो आपको फ्लोट का उपयोग करना होगा।

2
Cade Roux 14 जून 2010, 06:22

फ्लोट या डबल प्रकार का प्रयोग करें, जैसा कि पहले ही कहा जा चुका है।

लेकिन यह इतना आसान नहीं है। आपको यह समझने की आवश्यकता है कि फ़्लोटिंग-पॉइंट नंबर वास्तव में क्या हैं, और क्यों (0.1 + 0.1 + 0.1)!= (0.3)। यह एक जटिल विषय है, इसलिए मैं इसे यहां समझाने की कोशिश भी नहीं करूंगा - बस याद रखें कि एक फ्लोट एक दशमलव नहीं है, भले ही कंप्यूटर आपको इसे दशमलव के रूप में दिखा रहा हो .

2
Mike Baranczak 14 जून 2010, 06:55

फ़्लोट्स का उपयोग न करें एक पूर्णांक (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
0
Aran Mulholland 14 जून 2010, 06:21

आपने अपने चर को पूर्णांक के रूप में परिभाषित किया है। इसके बजाय डबल का प्रयोग करें।

इसके अलावा, आप दशमलव स्थानों की संख्या को परिभाषित करने के लिए cout के लिए कुछ स्वरूपण देख सकते हैं, जिसे आप दिखाना चाहते हैं, आदि।

0
James 14 जून 2010, 06:21