हे मैं चाहता था कि आप एक चरित्र '+' को ऑपरेटर में कैसे बदल सकते हैं। उदाहरण के लिए यदि मेरे पासऑपरेटर सी ++
char op = '+'
cout << 6 op 1;
धन्यवाद।
हे मैं चाहता था कि आप एक चरित्र '+' को ऑपरेटर में कैसे बदल सकते हैं। उदाहरण के लिए यदि मेरे पासऑपरेटर सी ++
char op = '+'
cout << 6 op 1;
धन्यवाद।
आसान तरीका एक स्विच बयान का उपयोग करने के लिए है
switch (op)
{
case '+':
res = x + y;
break;
case '-':
res = x - y;
break;
case '*':
res = x * y;
break;
}
मैं वहाँ एक रास्ता के रूप में आप यह वहाँ लिखा है है नहीं लगता है, लेकिन आप की तरह कुछ hacky कर सकता है
int do_op(char op, int a, int b)
{
switch(op)
{
case '+':
return a+b;
break;
case '-':
return a-b;
break;
case '*':
return a*b;
break;
case '/':
return a/b;
break;
default:
throw std::runtime_error("unknown op")
}
}
आप कर सकते हैं पुराने तरीके से #define का उपयोग करें:
#define op +
std::cout << 6 op 1;
हालांकि इसका सीमित उपयोग है।
यदि आप इसे शुद्ध सी ++ में करना चाहते हैं, तो आपको स्विच सिंटैक्स का स्पष्ट रूप से या बाहरी पुस्तकालय में उपयोग करना होगा (जैसे tetzfamily.com/temp/EvalDoc.htm या codeproject.com/Articles/7939/C- आधारित-अभिव्यक्ति-मूल्यांकन पुस्तकालय))।
एक और तरीका है बीसी की तरह एक बाहरी प्रोग्राम का उपयोग करने, है:
char op = '+';
std::string s;
s += "6";
s += op;
s += "4";
system(("echo " + s + "|bc").c_str());
आप बाद में परिणाम का उपयोग करना चाहते हैं, तो जाँच popen समारोह या C++ equivalent।
public class ArithmeticOps {
static int testcase11 = 11;
static int testcase12 = 3;
static char testcase13 = '/';
public static void main(String args[]){
ArithmeticOps testInstance = new ArithmeticOps();
int result = testInstance.compute(testcase11,testcase12,testcase13);
System.out.println(result);
}
public int compute(int a, int b,char operator){
int i=0;
switch(operator)
{
case '+' :
i= a+b;
break;
case '-' :
i= a-b;
break;
case '*' :
i= a*b;
break;
case '/' :
i= a/b;
break;
case '%' :
i= a%b;
break;
case '^' :
i= a^b;
break;
default:
i=0;
}
return i;
}
}
एक नक्शा, `अदालत के साथइसमें सभी अंकगणितीय परिचालन शामिल हैं। – user2722684
<< ऑपरेटरों [सेशन] (6, 1);' – chris
आप '6 सेशन 1' वाक्य रचना रखने के लिए चाहते हैं, तो नहीं, यह नहीं हो सकता है । –
संकलित निर्देश और रनटाइम डेटा के बारे में सोचें। –