好文档 - 专业文书写作范文服务资料分享网站

C++ 计算器 课程设计模板资料

天下 分享 时间: 加入收藏 我要投稿 点赞

C++面向对象程序设计

} oper.pop(); continue; }

if (c=='=') //遇到‘=’号,输出结果; {

if (pr) {cout<<\括号数目不匹配,请检查并重新输入!\ if (used) num.push(t);

while(!oper.empty()) tozhan(num,oper); cout<<\表达式的值为: \ return; }

else {cout<<\表达式输入错误,请重新输入!\ } }

bool judge(char s,char t) {

if ((s=='*'||s=='/')&&(t=='+'||t=='-')) return true; if (s=='.') return true;

10

C++面向对象程序设计

return false; }

void tozhan(stack& num,stack& oper) { float a,b,r;

b=num.top();num.pop(); a=num.top();num.pop(); switch( oper.top() ) {

case ('+'):r= a+b;break; case ('-'):r= a-b;break; case ('*'):r= a*b;break; case ('/'):r= a/b;break; case ('.'):r=fraction(a,b); };

num.push(r); oper.pop(); }

float fraction(float m, float n) //处理小数 {

11

C++面向对象程序设计

while (n>=1) n/=10; n+=m; return n; }

4.2运行结果

12

C++面向对象程序设计

13

C++面向对象程序设计

14

C++面向对象程序设计

结 论

本程序基本完成了题目要求的功能。此计算器有运算的能力。但是功能单一,每次只能进行一次运算,而不能重复操作,并且对于数据的N次平方的操作需要进行多次数据与“*”的多次重复输入,比较复杂,在时空方面占据劣势。

本软件应用起来不是很方便,特别是输入的一些字符的时候,必须是英文半角,不然会提示语法错误,最不实际的就是不能运用求值。但是可以通过增加判断条件,使之对输入形式不拘一格.

这次课程设计,我更加深刻地认识到了C语言,栈,C++面向对象编程三者之间的区别和联系,同时也体会到了三者联合的优势,清楚的认识到基础的重要性。甚至连复杂的程式都可以用简单的算法表现出来,或许这就是程序由繁入简的最终奥义吧。

对于这次设计,也发现了自己这程序方面还是很不行,但是这次课程设计让我感受到了学习的过程才是最重要的,更加欣喜的是也让我获得短暂的成就感和充实感。

参 考 文 献

1 谭浩强著. C++面向对象程序设计. 北京:清华大学出版社,2010 2 谭浩强著. C程序设计(第三版). 北京:清华大学出版社,2008

3 严蔚敏著. 数据结构(C语言版). 北京:清华大学出版社,2008

15

C++ 计算器 课程设计模板资料

C++面向对象程序设计}oper.pop();continue;}if(c=='=')//遇到‘=’号,输出结果;{if(pr){cout<<\括号数目不匹配,请检查并重新输入!\if(used)num.push(t);while(!oper.empty())tozhan(num,oper)
推荐度:
点击下载文档文档为doc格式
38rs92wglq4vbt01gdv99bpag891bi0044f
领取福利

微信扫码领取福利

微信扫码分享