当前位置:编程学习 > C/C++ >>

简易计算器

[cpp]  /**
 * 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; 

/**
 * 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;
  &

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,