简易计算器
/** * 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; }
运算结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)