Search

function

आज Hindi के इस C/C++ programming language tutorial को आगे बढ़ाते हुए हम function के बारे में और जानेंगे. किसी एक काम को अलग अलग समय बार बार करवाने के लिए function का use करते हैं. याद करे किif else statementवालेtopic में हमने एक program लिखा था जो कि total marks और obtained marks के आधार पर percentऔर division निकाल कर print करता था. अब अगर हमें 5 students के लिए percentage और division निकलना है तो एक तरीका यह है कि हम पहले वाले program में total marks और obtained marksको बार बार modify करें और बार बार program को compile करके run करें. पर इसमें बहुत time लग जायेगा. एक और तरीका यह है कि program का वह भाग जो percentage निकाल कर division print करता है उसे 5 बार copy-paste करें.इसे आसानी से करने का सबसे अच्छा तरीका है function का use. हम एक ऐसा function लिखेंगे जिसे total marks और obtained marks देने पर वह हमें percentage देदे. अभी percentage print करने का program ही देखते हैं, उसके बाद division print करने का program भी देखेंगे.नीचे लिखे हुए program को देखिये जिसमे हमने function define किया है. पर इसे run न करे क्योंकि यह run नहीं होगा. इसके बाद function call करने और run करके का तरीका देखेंगे.int get_percent(int total marks, int obtained marks) {  int percent = obtained_marks*100/total_marks;  return percent;}सबसे पहले int लिखा गया है जोकि यह बताता है कि function किस तरह का मान हमें return करेगा. इस example में function int type का मान हमें return करेगा. उसके बाद function का नाम लिखते हैं, जोकि यहाँ पर get_percent है. उसके बाद () में function के input variable लिखते हैं जिन्हें parameter या argument कहते हैं input variable लिखते समय यह भी बताना पड़ता है कि वो किस type के हैं और उन्हें function के अंदर किस नाम से access करेंगे. यहाँ दोनों input int हैं. किसी function में हम कितने भी input दे सकते हैं, या फिर अगर एक भी input नहीं देना चाहते तो () के अंदर कुछ नहीं लिखते. यहाँ 2 input दिए गए हैं. उसके बाद {} के अंदर वो लिखते हैं जो function काम करेगा. यहाँ हमने दिए गए input का उपयोग करके percent निकाला है. अंत में return करते हैं.शुरू में लिखा हुआ int यह बता रहा था कि यह function int type की value हमें देगा(return करेगा). अंत में return लिखकर हम percent return कर रहे हैं जो int type का ही है. अगर return statement के बाद कुछ लिखा है तो वह run नहीं होगा, क्योंकि return आते ही function को यह पता लग जाता है कि क्या value return करना है और function वह value return करके उसी समय खत्म हो जाता है.अब यह देखते हैं कि इस function का use कैसे करेंगे. नीचे दिए गए program को run करके देखें.#include <stdio.h>int get_percent(int total_marks, int obtained_marks) {  int percent = obtained_marks*100/total_marks;  return percent;}int main() {  int percent;  percent = get_percent(500, 360);  printf("Percent is%d\n", percent);  percent = get_percent(500, 340);  printf("Percent is %d\n", percent);  scanf("%d", &percent);  return 0;}सबसे पहले हमने function define किया है किसका नाम है get_percent, जो int type की value return करेगा और 2 int type के parameter लेगा जैसे कि हम ऊपर भी देख चुके हैं. फिरmain() के अंदर से program run होना start होताहै जैसा कि हम अभी तक देखते आये हैं. main के अंदरपहले int type का percent variable define किया है. उसके बाद get_percent function call किया हैजो ऊपर define किया था. इस function को हमने 2 parameter 500 और 360 दिए हैं. यहाँ parameter का क्रम भी important है. इस function को call करने पर ऊपर वाला function run होना शुरू हो जायेगा, जिसमे total_marks की value 500 और obtained_marks की value 360 चली जायेगी. इन values के basis पर get_percentpercent की value 80 निकालकर return कर देगा.percent = get_percent(500, 360);यह लिखने पर get_percent जो भी return करेगा वह percent में store जायेगा. उसके बाद हम main() के अंदर ही percent print कर रहे हैं. इसी तरह एक बार और get_percent function को call करके जो value आती है उसे percent variable में store करके print कर रहे हैं.यहाँ एक बात note करें कि main भी एक function है जो कोई भी parameter नहीं लेता(इसलिए main() लिखा है () में कुछ नहीं लिखा) और int return करता है इसीलिए हम अंत में हर बार return 0; लिखते आ रहे हैं. जब हम कोई भी C program run करते हैं तो सिर्फ उसका main function call होता है. main के अंदर हम जो जो function call करते हैं वो उसी sequence में call होते हैं. अंत में जब main function के अंत में पहुँच जाते हैं तो program finish हो जाता है. अगर आप किसी ऐसे program को run करे जिसमे main function न हो तो वह कुछ इस तरह कि error देगा कि main methodnot found.अब हम एक और program देखते हैं जो division भी print करे. इसे run करके देखें.#include <stdio.h>void get_percent(int total_marks, int obtained_marks) {  int percent = obtained_marks*100/total_marks;  if(percent >= 60) {    printf("Congrats!! You passed in 1st division.\n");    printf("Your percentage is %d.\n",percent);  }  else if(percent >= 45) {    printf("You passed in 2nd division.\n");    printf("Your percentage is %d.\n",percent);  }  else if(percent >= 33) {    printf("You just passed in 3rd division.\n");    printf("Your percentage is %d.\n",percent);  }  else {    printf("Sorry! you failed.\n");    printf("Your percentage is %d.\n",percent);  }}int main() {  get_percent(500, 360);  get_percent(500, 340);  int abc;  scanf("%d", &abc);  return 0;}इस example में get_percent function division भी print कर रहा है. इसमें पहले वाले function से थोडा difference यह है कि यह function ही सब कुछ print कर रहा है इसलिए main में अलग से print करने कि जरुरत नहीं है. शुरू में void लिखा गया है इसका मतलब है कि यह function कुछ return नहीं करेगा, इसलिए main में functionको सिर्फ call किया गया है, जबकि पहले वाले example में जो value function return कर रहा था उसे एक variable में store कर रहे थे.Exercise:1. एक function print_month लिखो जिसे एक int parameter दे जो किसी महीने का number होगा औरवह function महीने का नाम print कर दे. जैसे अगर हम उसे 10 दे तो वह October print कर दे. इस function को कुछ return नहीं करना चाहिए, सिर्फ print करना चाहिए. उसके बाद इस function को main से अलग अलग parameter देके call करें.2. ऊपर वाले program में main में पहले scanf का use करके input ले और इस input parameter केसाथ print_month call करें.अगले लेख में हम कुछ और example देखेंगे.अगर आपको यह लेख पसंद आया हो तो अपने दोस्तों को भी बताएं क्योंकि ये उनके लिए भी उपयोगी सिद्ध हो सकता है !! नीचे दिए गए link के माध्यम से इसे आसानीसे facebook twitter और Google Buzz पर भी Share कर सकते हैं.

Share this

Related Posts

Previous
Next Post »

Thnx