मैं एक आयत के क्षेत्र और परिधि को निर्धारित करने के लिए एक बुनियादी सी ++ प्रोग्राम के साथ काम कर रहा हूं। मेरा प्रोग्राम पूर्ण संख्याओं के लिए ठीक काम करता है लेकिन जब मैं दशमलव के साथ किसी भी संख्या का उपयोग करता हूं तो अलग हो जाता है। मुझे यह आभास होता है कि मैं कुछ छोड़ रहा हूं, लेकिन चूंकि मैं पूरी तरह से नौसिखिया हूं, मुझे नहीं पता कि क्या।
नीचे स्रोत है:
#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 जवाब
अपने सभी int
टाइप वेरिएबल को double
या float
में बदलें। मैं व्यक्तिगत रूप से double
का उपयोग करूंगा क्योंकि उनके पास float types
से अधिक सटीकता है।
Int डेटाटाइप पूर्णांक के लिए खड़ा है (यानी सकारात्मक और नकारात्मक पूर्ण संख्याएं, जिनमें 0 शामिल हैं)
यदि आप दशमलव संख्याओं का प्रतिनिधित्व करना चाहते हैं, तो आपको फ्लोट का उपयोग करना होगा।
फ्लोट या डबल प्रकार का प्रयोग करें, जैसा कि पहले ही कहा जा चुका है।
लेकिन यह इतना आसान नहीं है। आपको यह समझने की आवश्यकता है कि फ़्लोटिंग-पॉइंट नंबर वास्तव में क्या हैं, और क्यों (0.1 + 0.1 + 0.1)!= (0.3)। यह एक जटिल विषय है, इसलिए मैं इसे यहां समझाने की कोशिश भी नहीं करूंगा - बस याद रखें कि एक फ्लोट एक दशमलव नहीं है, भले ही कंप्यूटर आपको इसे दशमलव के रूप में दिखा रहा हो .
फ़्लोट्स का उपयोग न करें एक पूर्णांक (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
आपने अपने चर को पूर्णांक के रूप में परिभाषित किया है। इसके बजाय डबल का प्रयोग करें।
इसके अलावा, आप दशमलव स्थानों की संख्या को परिभाषित करने के लिए cout के लिए कुछ स्वरूपण देख सकते हैं, जिसे आप दिखाना चाहते हैं, आदि।
संबंधित सवाल
नए सवाल
c++
C ++ एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा है। यह मूल रूप से C के विस्तार के रूप में डिज़ाइन किया गया था और इसमें एक समान सिंटैक्स है, लेकिन यह अब पूरी तरह से अलग भाषा है। C ++ कंपाइलर के साथ संकलित कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें। विशिष्ट मानक संशोधन [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] या [C ++ 23], आदि से संबंधित प्रश्नों के लिए संस्करण-विशिष्ट टैग का उपयोग करें। ।