简易计算器

来源:互联网 发布: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;}

运算结果:
原创粉丝点击