简单计算器
四、运行与测试 1.调试过程顺利,没有大问题。 2.测试数据,测试结果如下:
3.程序运行结果如下:
等。 五、总结与心得 通过本实验更加深刻的了解了模版函数及抛出异常函数的用 法与调试技巧,更加牢靠的掌握该些函数的使用,便于以后的 深入学习。
实验题目:简单计算器(实现加减乘除并抛出异 常)
一、实验目的 1.掌握使用模版函数; 2.掌握使用异常的抛出函数。 二、实验内容 1.设计能实现简单加减乘除运算的计算器; 2.通过异常抛出函数,抛出可能产生的异常。 三、设计与编码 1.本实验用到的理论知识 (1)模版函数的使用方法与调用规则(template<class T>); (2)抛出异常及调试函数的使用(throw try{…} catch(…) {…}); (3)顺序结构、选择结构的使用(switch(…){case:…default: …})。 2.算法设计 (1)输入需要计算的式子:a(前数),ch(运算符), b(后数); (2)对运算符进行选择,如果ch为“+”返回a+b;如果ch 为“-”返回a-b;如果ch为“*”返回a*b;如果ch为“/”,对b进行判 断,如果为0则抛出异常,否则返回a/b;如果ch不为“+、-、 *、/”抛出异常; (3)输出相应的结果。 3.编码
#include <iostream> using namespace std; template <class T> T Calculator(T a,char &ch,T b)//计算器函数,a、b为数字参数,ch
为运算符参数 { switch(ch) { case '+':return a+b;break; case '-':return a-b;break; case '*':return a*b;break; case '/':{ if (0==b) throw"除数不可以为0!"; else return a/b;4;; } return 0; } void main() { double a1,b1; char ch1; cout<<"简单计算器(+、-、*、/)"<<endl; cout<<"输入式子: "; cin>>a1>>ch1>>b1; try//测试抛出异常 { Calculator(a1,ch1,b1); } catch(char *mistake) { cout<<mistake<<endl; } cout<<Calculator(a1,ch1,b1)<<endl; }