C++实现计算器

作者:一个十分弱的c++入门程序员

今天我就来用c++来实现一个简单的计算器,包括的运算有,加,减,乘,根号(有兴趣的朋友可以根据我的源代码继续开发)

1、我们这里运用到的知识点是"多态"

class.h

#include<iostream>
#pragma once
#include<cmath>//包括一个数学库的头文件,用来进行根号的运算
using namespace std;
class NUMBER//父亲
{
public:
	int m_num1;
	int m_num2;
	virtual int get()//虚函数
	{
		return 0;
	}
};
class add :public NUMBER//加法(儿子1)
{
public:
	int get()
	{
		return m_num1 + m_num2;
	}
};
class JIAN :public NUMBER//减法(儿子2)
{
	int get()
	{
		return m_num1 - m_num2;
	}
};
class CHENG :public NUMBER//乘法(儿子3)
{
	int get()
	{
		return m_num1 * m_num2;
	}
};
class GEN//根号中我们只使用一个数字,所以重新创建类
{
public:
	int m_c;
	int get()
	{
		return sqrt(m_c);
	}
};

2、进行具体的运算

void test01.h

#include"class.h"
#include<string>//因为要输入运算符号(字符串),所以包括string头文件
void test01();
#pragma once

test01.cpp

#include"class.h"
#include"void test01.h"

void::test01()
{
	//父类指着 或者引用指向对象
	//加法
	
	while (true)
	{
		cout << "欢迎使用计算器" << endl;//进入计算器的提示
		cout << "输入"<<"!"<<"退出" << endl;//写一个退出的提示
		string a;
		cin >> a;
		if (a == "+")
		{
			NUMBER *abc = new add;//创建堆区来存储这个指针
			cin >> abc->m_num1;
			cin >> abc->m_num2;
			cout << abc->m_num1 << "+" << abc->m_num2 << "=" << abc->get() << endl;
			delete abc;//程序员 delete 命令销毁数据
			system("pause");
			system("cls");
		}
		else
		{
			if (a == "-")//减法
			{
				NUMBER *abc = new JIAN;
				cin >> abc->m_num1;
				cin >> abc->m_num2;
				cout << abc->m_num1 << "-" << abc->m_num2 << "=" << abc->get() << endl;
				delete abc;//销毁数据
				system("pause");
				system("cls");
			}
			else
			{
				if (a == "*")//乘法
				{
					NUMBER *abc = new CHENG;
					cin >> abc->m_num1;
					cin >> abc->m_num2;
					//乘法
					cout << abc->m_num1 << "*" << abc->m_num2 << "=" << abc->get() << endl;
					delete abc;//销毁数据
				system("pause");
			system("cls");
				}
				else
				{
					if (a == "!")//退出这个系统
					{
						break;
					}
					if (a == "gen")//根号的运算
					{
						GEN *g = new GEN;
						cin >> g->m_c;
						//乘法
						cout << g->m_c << "根" << g->m_c << "=" << g->get() << endl;
						delete g;//销毁数据
						system("pause");
						system("cls");

					}
					else//输入错误的情况
					{
						cout << "请重新输入" << endl;
						system("pause");
						system("cls");
					}
				}
			}
		}
	}

3、主要实现文件
main.cpp

#include<iostream>
#include<string>
#include"class.h"
#include"void test01.h"//包括我们刚刚写好的几个头文件
using namespace std;

int main()
{

	test01();//调用我们写的函数
	system("pause");
	return 0;
}

OK,这样一个简单的计算器就写好了,有写的不对或者不够简洁的地方还请指教

有任何问题可以联系小编

QQ:1297849125

感谢阅读。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐