मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं, यह सब काम करता है लेकिन कुछ बंद है और मैं इसे पकड़ नहीं सकता क्योंकि मैं नौसिखिया हूं, कोई विचार?

function finalGrade(exam, projects) {
  if (exam >= 90 || projects > 10) {
    return 100;
  } else if (exam >= 75 && projects === 5) {
    return 90;
  } else if (exam >= 50 && projects === 2) {
    return 75;
  } else {
    return 0;
  }
}

प्रश्न - इस फ़ंक्शन में दो तर्क होने चाहिए: परीक्षा - परीक्षा के लिए ग्रेड (0 से 100 तक); परियोजनाएं - पूर्ण की गई परियोजनाओं की संख्या (0 और ऊपर से);

इस फ़ंक्शन को एक नंबर (अंतिम ग्रेड) वापस करना चाहिए। अंतिम ग्रेड चार प्रकार के होते हैं:

100, यदि परीक्षा के लिए एक ग्रेड 90 से अधिक है या यदि पूर्ण परियोजनाओं की संख्या 10 से अधिक है। 90, यदि परीक्षा के लिए एक ग्रेड 75 से अधिक है और यदि पूर्ण परियोजनाओं की संख्या न्यूनतम है 5. 75, यदि एक परीक्षा के लिए ग्रेड 50 से अधिक है और यदि पूर्ण परियोजनाओं की संख्या न्यूनतम 2. 0 है, तो अन्य मामलों में

1
Christopher Altamirano 22 जून 2019, 19:42

2 जवाब

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

आप === से लेकर if तक के कथनों का उपयोग कर रहे हैं। यदि आप कम से कम परियोजनाओं की जांच करना चाहते हैं तो आपको >= का उपयोग करना चाहिए

function finalGrade(exam, projects) {
  if (exam > 90 && projects >= 10) {
    return 100;
  } else if (exam > 75 && projects >= 5) {
    return 90;
  } else if (exam > 50 && projects >= 2) {
    return 75;
  } else {
    return 0;
  }
}
3
Maheer Ali 22 जून 2019, 19:55

सिर्फ एक हिस्सा, संरचना

if () {
    return
} else if () {
    return
} else {
    return
}

अन्य भागों को छोड़ने के लिए सरल बनाया जा सकता है और बस if के साथ आगे बढ़ें

if () {
    return
} 
if () {    // as many more
    return
}
return
0
Nina Scholz 22 जून 2019, 21:13