简易计算器
来源:互联网 发布:php closure类 编辑:程序博客网 时间:2024/04/28 19:23
/** * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 文件名称:text.cpp * 作 者: 胡颖 * 完成日期:2013 年 6 月 28 日 * 版 本 号:v1.0 * * 输入描述:输入操作指令及计算的数字、符号 * 问题描述:制作简易计算器 * 程序输出:输出操作页面及计算结果 * 问题分析:利用运算符重载实现数字的加减乘除 * 算法设计:略 */#include <iostream>#include <cstdlib>using namespace std;class Number{public: Number(double aa=0); //运算符重载 Number operator+(Number &c); Number operator-(Number &c); Number operator*(Number &c); Number operator/(Number &c); friend istream&operator>>(istream&,Number&); friend ostream&operator<<(ostream&,Number&); void mainmenu();//主菜单 double calculation();//计算private: double a;};Number::Number(double aa):a(aa) {}Number Number::operator+(Number &c){ Number n; n.a=a+c.a; return n;}Number Number::operator-(Number &c){ Number n; n.a=a-c.a; return n;}Number Number::operator*(Number &c){ Number n; n.a=a*c.a; return n;}Number Number::operator/(Number &c){ Number n; n.a=a/c.a; return n;}istream&operator>>(istream&input,Number &c){ input>>c.a; return input;}ostream&operator<<(ostream&output,Number&c){ output<<c.a; return output;}void Number::mainmenu(){ int chooser; cout<<endl; cout<<"请输入操作类型:"<<endl; cout<<"****************"<<endl; cout<<"*---1.计算-----*"<<endl; cout<<"*---2.退出-----*"<<endl; cout<<"****************"<<endl; cin>>chooser; switch(chooser) { case 1: calculation();//计算 break; case 2: exit(0);//退出 default: cout<<"您的选择有误!\n"; cout<<"按任意键继续......"; break; }}double Number::calculation(){ Number n1,n2,a; char f; cin>>n1>>f>>n2; if(f=='+') { a=n1+n2; cout<<a; } if(f=='-') { a=n1-n2; cout<<a; } if(f=='*') { a=n1*n2; cout<<a; } if(f=='/') { a=n1/n2; cout<<a; } mainmenu(); return 0;}int main(){ Number n; n.mainmenu(); return 0;}
运算结果:
- 简易计算器
- 简易计算器。。。
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 赛程安排问题
- .Net Json格式序列化
- Eclipse快捷键大全
- android2.2应用开发之IccCard(sim卡或USIM卡)
- 互联网常见Open API文档资源(转载)
- 简易计算器
- Solrcloud/solr4.0/solr4.2/solr4.3/solr4.x (实时搜索)NRT及commit 相关问题
- Linux之#pragma的用法
- jfreechart
- poj 2010 Moo University - Financial Aid (贪心+线段树)
- 工作队列使用方法(2.6.20之后)
- jQuery上传插件Uploadify 3.2在.NET下的详细例子
- 字符串的最长公共子序列问题
- Struts1.x 常用标签及属性