Array implementation of Stack in C -
<पूर्व>
#include & lt; stdio.h & gt; # अधिकतम MAXSIZE 101 int A [MAXSIZE]; Int top = -1; इंट डेटा; शून्य पुश () {printf ("एक संख्या दर्ज करें \ n"); Scanf ("% d", और डेटा); अगर (शीर्ष == MAXSIZE-1) {printf ("ओवरफ्लो.अरे आकार की सीमा तक पहुंच गई है \ n"); वापसी; } ए [+ + शीर्ष] = डेटा; } शून्य पॉप () (यदि (शीर्ष == - 1) {printf ("खाली ढेर! \ N"); वापसी; } शीर्ष-; } Int isEmpty () {if (top == - 1) {printf ("खाली हाँ \ n"); वापसी 0; }} Int first () {वापसी ए [शीर्ष]; } Int printstack () {int i = 0; के लिए (i = 0; i & lt; = शीर्ष; i ++) {printf ("% d \ n", ए [i]); } वापसी 0; } Int main (int argc, char const * argv []) {int choice; इंट फ्लैग = 1; करना {printf ("विकल्प हैं \ n"); Printf ("1 \ t \ t पुश \ n2 \ t \ t पॉप \ n3 \ t \ t खाली \ n4 \ t \ t शीर्ष \ n5 \ t \ t प्रिंट \ n \ n"); Scanf ("विकल्प% d दर्ज करें", & amp; पसंद); स्विच (पसंद) {मामला 1: पुश (); टूटना; मामला 2: पॉप (); टूटना; मामले 3: isEmpty (); टूटना; मामला 4: पहले (); टूटना; मामला 5: प्रिंटस्टैक्स (); टूटना; डिफ़ॉल्ट: printf ("कृपया सही मेनू विकल्प दर्ज करें"); } Printf ("फिर से दोहराना चाहते हैं? बाहर निकलने के लिए 0 को दोहराने के लिए प्रेस करें \ n"); scanf ( "% d", & amp; ध्वज); } जबकि (झंडा); वापसी 0; } मैंने सरणियों का उपयोग कर ढेर के कार्यान्वयन का प्रयास किया है मुझे लूप में कुछ समस्या हो रही है कार्यक्रम चलाता है, यह विकल्प और स्विच मामले संचालित मेनू से पूछता है कि वह उस समारोह में जाना चाहिए, इसे करें और मुख्य () पर वापस जाएं
लेकिन कुछ समस्या है और यह प्रदर्शन के बिना फिर से लूप शुरू हो जाती है किसी भी कार्य
scanf ("विकल्प% d दर्ज करें", और विकल्प); एक scanf () फ़ंक्शन लिखने का कोई मान्य तरीका नहीं है। स्क्रीन पर एक संदेश दिखाने के लिए हमारे पास puts () और printf () लेकिन scanf () का उपयोग इनपुट के लिए ही किया जाता है। असामान्य व्यवहार यहां समझाया गया है:
स्क्रीन पर एक संदेश दिखाने का कार्य करने के लिए और फिर उपयोगकर्ता से इनपुट लेने के लिए, इस कथन को फिर से लिखें:
printf ("अपनी पसंद दर्ज करें"); Scanf ("% d", और विकल्प);
Comments
Post a Comment