请教一个四则运算的C++代码

liufucsdn 2003-10-19 12:06:08
原有加减乘除的C++代码,现在要扩充,增加四则混合运算功能
这是原来代码中定义的类,包含了所有已经定义的函数
class oopcalc
{
public:
void supercalc();
void calcadd();
void calcsub();
void calcdiv();
void calcmult();
void calcfartocel();
void calcceltofar();
void calcsroot();
void exitprog();
void menu();
void badinput();
private:
int add(int x, int y);
int sub(int x, int y);
int div(int x, int y);
int mult(int x, int y);
int fartocel(int x);
int celtofar(int x);
int sqroot(int x);
};
...全文
136 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbgbianbaogui 2003-10-24
  • 打赏
  • 举报
回复
up
fifo333 2003-10-24
  • 打赏
  • 举报
回复
可以考虑设计成functor以供泛型算法调用。
wenjhua 2003-10-24
  • 打赏
  • 举报
回复
词法分析器

可以用后缀表达式 做运算啊

首先的定义 + - * /的运算优先级,还有()的优先级最高

郑文君 2003-10-24
  • 打赏
  • 举报
回复
赫赫,有意思
Andy84920 2003-10-24
  • 打赏
  • 举报
回复
真是佩服楼上的为人!
ttlb 2003-10-24
  • 打赏
  • 举报
回复
Stack<Number> sTmp;
for (String::const_iterator citer = str.begin();
citer != str.end(); ++citer)
{
switch (*citer)
{
case '+':
{
Number num1 = sTmp.top();
sTmp.pop();
Number num2 = sTmp.top();
sTmp.pop();
sTmp.push(num2 + num1);
break;
}
case '-':
{
Number num1 = sTmp.top();
sTmp.pop();
Number num2 = sTmp.top();
sTmp.pop();
sTmp.push(num2 - num1);
break;
}
case '*':
{
Number num1 = sTmp.top();
sTmp.pop();
Number num2 = sTmp.top();
sTmp.pop();
sTmp.push(num2 * num1);
break;
}
case '/':
{
Number num1 = sTmp.top();
sTmp.pop();
Number num2 = sTmp.top();
sTmp.pop();
sTmp.push(num2 / num1);
break;
}
default:
for (Vector<Pair<char, Number> >::const_iterator citer2 = m_Vec.begin(); citer2 != m_Vec.end(); ++citer2)
{
if (citer2->first == *citer)
{
sTmp.push(citer2->second);
break;
}
}
break;
} // end of switch(*citer)
} // end of for (String::const_iterator citer = str.begin();
// 这只是一部分,但是思想在里面
liufucsdn 2003-10-24
  • 打赏
  • 举报
回复
题目我搞定了,不是运算符重载!
qufan 2003-10-19
  • 打赏
  • 举报
回复
不会是运算符重载吧?
tonyzhengjq 2003-10-19
  • 打赏
  • 举报
回复
学习一下
RookieStar 2003-10-19
  • 打赏
  • 举报
回复
怎么和交大03级作业题一样?
winco 2003-10-19
  • 打赏
  • 举报
回复
????????????????????//
danpianji2002 2003-10-19
  • 打赏
  • 举报
回复
什么意思啊
要实现这些函数么

64,439

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧