Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 48

Calculator (Switch Case)

हम क्या बना रहे हैं

Calculator दो numbers और एक operator (+, -, *, /) लेकर result देता है। यह switch statement अभ्यास करने का बढ़िया छोटा project है, जो operator के आधार पर कई में से एक action चुनता है। हम इसे चरण-दर-चरण बनाएँगे और divide by zero सुरक्षित संभालेंगे।

💡 यहाँ switch आदर्श है क्योंकि हम एक value (operator) की कई exact options से तुलना करते हैं।

switch logic

<?php
  $a = 10; $b = 5; $op = "+";
  switch ($op) {
      case "+": echo $a + $b; break;
      case "-": echo $a - $b; break;
      case "*": echo $a * $b; break;
      case "/": echo $a / $b; break;
      default:  echo "Invalid operator";
  }
?>
15

switch $op को एक case से मिलाता है और वो operation चलाता है। हर case break पर ख़त्म होता है ताकि सिर्फ़ मेल खाता चले; default अनजान operators पकड़ता है।

पूरा calculator

<?php
  function calculate($a, $b, $op) {
      switch ($op) {
          case "+": return $a + $b;
          case "-": return $a - $b;
          case "*": return $a * $b;
          case "/":
              if ($b == 0) return "Cannot divide by zero";
              return $a / $b;
          default:  return "Invalid operator";
      }
  }
  echo calculate(20, 4, "/");   // 5
?>
5

इसे function में लपेटना दोबारा-इस्तेमाल-योग्य बनाता है। ध्यान दीजिए divide case पहले zero जाँचता है, crash के बजाय message लौटाकर।

Form जोड़ना

<form method="post">
  <input type="number" name="a">
  <select name="op">
    <option>+</option><option>-</option>
    <option>*</option><option>/</option>
  </select>
  <input type="number" name="b">
  <button>Calculate</button>
</form>

<?php
  if ($_SERVER["REQUEST_METHOD"] === "POST") {
      $a = (float)$_POST["a"];
      $b = (float)$_POST["b"];
      echo calculate($a, $b, $_POST["op"]);
  }
?>

Form दो numbers और operator भेजता है। हम numbers को (float) से cast करते हैं और सब कुछ अपने calculate function में डालते हैं।

Divide by zero संभालना

शून्य से भाग संभालना ज़रूरी है वरना error आती है। हमारा function पहले if ($b == 0) जाँचता है। आधुनिक PHP में आप इसे catch भी कर सकते हैं:

<?php
  try {
      echo 10 / 0;
  } catch (DivisionByZeroError $e) {
      echo "Cannot divide by zero";
  }
?>
Cannot divide by zero

दोनों तरीके crash बचाते हैं और user को साफ़ message दिखाते हैं।

आम गलतियाँ

  • break भूलना। इसके बिना अगले cases भी चलते हैं (fall-through)।
  • Divide by zero न जाँचना। हमेशा भाग को guard कीजिए।
  • Form values cast न करना। गणित से पहले (float) या (int) में cast कीजिए।
  • कोई default case नहीं। अनजान operators को default से संभालिए।

सारांश

  • Calculator operator के आधार पर operation चुनता है — switch के लिए बढ़िया।
  • हर case एक operation करता है और break (या return) पर ख़त्म होता है।
  • divide case को zero से guard कीजिए।
  • Form से input लीजिए और गणना से पहले numbers cast कीजिए।
  • Invalid operators को default इस्तेमाल कीजिए।

आगे, concept दोहराइए if-else और switch में, या logic दोबारा इस्तेमाल कीजिए PHP functions से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Calculator के लिए switch क्यों इस्तेमाल करें?
Calculator operator (+, -, *, /) के आधार पर कई में से एक action चुनता है। switch operator को सही case से साफ़ मिलाता है, जो if-else की लंबी श्रृंखला से पढ़ने में आसान है।
PHP में divide by zero कैसे संभालूँ?
भाग देने से पहले जाँचिए divisor शून्य तो नहीं, या भाग को DivisionByZeroError के लिए try-catch में लपेटिए। program crash होने देने के बजाय "cannot divide by zero" जैसा friendly message दिखाइए।
हर case को break क्यों चाहिए?
break बिना PHP अगले cases भी चलाती रहती है (fall-through)। हर case के अंत में break जोड़ना पक्का करता है कि सिर्फ़ मेल खाता operation चले।
User से operator कैसे लूँ?
"op" जैसे नाम वाले select या text input वाला form इस्तेमाल कीजिए, फिर उसे $_POST["op"] से पढ़िए। वो value switch में डालकर operation चुनिए।
switch में default क्या करता है?
default case तब चलता है जब operator किसी ज्ञात case से मेल न खाए — जैसे कोई invalid symbol। "invalid operator" message दिखाने की यह अच्छी जगह है।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicAJAX Live Search आपकी प्रगति: 48 / 50 (96%) · Lesson 49 / 50 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें