ट्रैक
/
C++
C++
/
अभ्यास
/
वाहन की खरीद
वाहन की खरीद

वाहन की खरीद

सीखने का अभ्यास

परिचय

तुलना

C++ में आप तुलना ऑपरेटरों की मदद से वैल्यू की तुलना कर सकते हैं।

तुलना ऑपरेटर
बराबर ==
बराबर नहीं !=
कम <
कम या बराबर <=
अधिक >
अधिक या बराबर >=

इन तुलनाओं का परिणाम हमेशा एक बूलियन वैल्यू होता है:

int a{3};

bool eq1 = a != 4; // true

bool eq2 = a > 5;  // false

ऑपरेटर == और != क्रमशः जाँचते हैं कि कोई वैल्यू दूसरी वैल्यू के बराबर है या नहीं। यहाँ कुछ आम उदाहरण दिए गए हैं:

bool eq3 = 2 == 3; // false, integer comparison

bool eq4 = 2.1 != 2.2; // true, float comparison

bool eq5 = "hello" == "hello"; // true, string comparison

बाकी ऑपरेटर जाँचते हैं कि कोई वैल्यू दूसरी वैल्यू से अधिक (>) है, अधिक या बराबर (>=) है, कम (<) है, या कम या बराबर (<=) है। इस तरह की तुलना संख्याओं और स्ट्रिंग, दोनों के लिए उपलब्ध है। स्ट्रिंग की तुलना करते समय डिक्शनरी क्रम (जिसे लेक्सिकोग्राफिक क्रम भी कहते हैं) का पालन किया जाता है।

bool eq6 = 2 > 3; // false, integer comparison

bool eq7 = 1.2 < 1.3; // true, float comparison

bool eq8 = "Hello" < "World"; // true, string comparison

if स्टेटमेंट

C++ में शर्तें दूसरी भाषाओं की शर्तों जैसी ही होती हैं। किसी भी शर्त वाले ऑपरेशन का मूल टाइप bool होता है, जिसकी वैल्यू true या false हो सकती है। शर्तों का उपयोग अक्सर कोड के प्रवाह को नियंत्रित करने और अलग-अलग शर्तें जाँचने के लिए किया जाता है।

if स्टेटमेंट का उपयोग किया जा सकता है, जो अपना कोड तब चलाता है जब उसकी शर्त true हो, ऐसे:

std::string value{"val"};

if (value == "val") {
    return "was val";
}

जिन मामलों में एक से अधिक स्थितियाँ होती हैं, वहाँ else if और else स्टेटमेंट की मदद से कई if स्टेटमेंट एक साथ जोड़े जा सकते हैं।

int number{33};

if (number > 0) {
   return "positive";
} else if (number < 0) {
    return "negative";
} else {
   return "zero";
}

C++17 से if स्टेटमेंट में एक छोटा इनिशलाइज़ेशन स्टेटमेंट भी शामिल किया जा सकता है, जिसका उपयोग if स्टेटमेंट के लिए एक या अधिक वेरिएबल शुरू करने में किया जा सकता है। उदाहरण:

int num{7};
if (int v{2 * num}; v > 10) {
    return v;
} else {
    return num;
}
// => 14

ध्यान दें: इनिशलाइज़ेशन में बनाए गए किसी भी वेरिएबल का उपयोग if स्टेटमेंट खत्म होने के बाद नहीं किया जा सकता।

निर्देश

इस अभ्यास में आप कुछ कोड लिखेंगे, जो आपको वाहन खरीदने की तैयारी में मदद करेगा।

आपके सामने तीन काम हैं: पहला, यह तय करना कि आपको लाइसेंस की ज़रूरत है या नहीं; दूसरा, दो वाहनों में से एक चुनने में आपकी मदद करना; और तीसरा, पुराने वाहन की स्वीकार्य कीमत का अनुमान लगाना।

1. तय कीजिए कि आपको ड्राइविंग लाइसेंस की ज़रूरत होगी या नहीं

कुछ वाहनों को चलाने के लिए ड्राइविंग लाइसेंस की ज़रूरत होती है। मान लीजिए कि सिर्फ़ "car" और "truck" के लिए लाइसेंस ज़रूरी है, बाकी सब बिना लाइसेंस के चलाए जा सकते हैं।

needs_license(kind) फंक्शन बनाइए। यह वाहन का प्रकार एक स्ट्रिंग के रूप में लेता है और एक बूलियन लौटाता है, जो बताता है कि उस प्रकार के वाहन के लिए आपको लाइसेंस चाहिए या नहीं।

needs_license("car")
// => true

needs_license("bike")
// => false

needs_license("truck")
// => true

2. खरीदने के लिए दो संभावित वाहनों में से एक चुनिए

आप उपलब्ध वाहनों के अपने विकल्पों पर विचार करते हैं। आप इन्हें घटाकर दो विकल्पों तक ले आते हैं, लेकिन अंतिम फैसला लेने में आपको मदद चाहिए। इसके लिए choose_vehicle(option1, option2) फंक्शन बनाइए, जो दो वाहनों को आर्गुमेंट के रूप में लेता है और एक फैसला लौटाता है, जिसमें शब्दकोशीय क्रम में पहले आने वाला विकल्प शामिल होता है।

choose_vehicle("Wuling Hongguang", "Toyota Corolla")
// => "Toyota Corolla is clearly the better choice."

choose_vehicle("Volkswagen Beetle", "Volkswagen Golf")
// => "Volkswagen Beetle is clearly the better choice."

लौटाई गई स्ट्रिंग इस पैटर्न पर होनी चाहिए: "<CHOSEN_VEHICLE> is clearly the better choice.", जहाँ <CHOSEN_VEHICLE> पास किए गए आर्गुमेंट में से चुना गया विकल्प है।

3. पुराने वाहन की कीमत का अनुमान लगाइए

अब जब आपने फैसला कर लिया है, तो आप यह सुनिश्चित करना चाहते हैं कि डीलरशिप पर आपको उचित कीमत मिले। चूँकि आप पुराना वाहन खरीदना चाहते हैं, इसलिए कीमत इस बात पर निर्भर करती है कि वाहन कितना पुराना है। मोटे अनुमान के लिए मान लीजिए कि अगर वाहन 3 साल से कम पुराना है, तो उसकी कीमत उस मूल कीमत का 80% होती है जो बिल्कुल नई हालत में थी। अगर वह कम से कम 10 साल पुराना है, तो उसकी कीमत 50% होती है। अगर वाहन कम से कम 3 साल पुराना है लेकिन 10 साल से कम, तो उसकी कीमत मूल कीमत का 70% होती है।

calculate_resell_price(original_price, age) फंक्शन बनाइए, जो if, else if और else की मदद से यह तर्क लागू करता है (अगर आप अभ्यास करना चाहें तो दूसरे तरीके भी हैं)। यह मूल कीमत और वाहन की उम्र आर्गुमेंट के रूप में लेता है और डीलरशिप पर अनुमानित कीमत लौटाता है।

calculate_resell_price(1000, 1)
// => 800

calculate_resell_price(1000, 5)
// => 700

calculate_resell_price(1000.0, 15)
// => 500

ध्यान दें: रिटर्न वैल्यू double टाइप की होती है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
C++ Exercism

वाहन की खरीद शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और C++ को 19 कॉन्सेप्ट100 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।