c++计算器

因为用的是MFC,所以就不把代码贴出来了,安装包在文章顶部,在此只把另一个计算器的代码贴出来:

#include<cstdio>
#include<cmath>
#include<iostream>
#include<string>
#include<windows.h>
using namespace std;
int Atoi(string s,int radix) {
	int ans=0;
	for(int i=0; i<s.size(); i++) {
		char t=s[i];
		if(t>='0'&&t<='9') ans=ans*radix+t-'0';
		else ans=ans*radix+t-'A'+10;
	}
	return ans;
}
string intToA(int n,int radix) {
	string ans="";
	do {
		int t=n%radix;
		if(t>=0&&t<=9)	ans+=t+'0';
		else ans+=t-10+'A';
		n/=radix;
	} while(n!=0);
	return ans;
}
void jinzhi() {

	string str1;
	long long d1, d2;
	cout<<"输入现在的数:   ";
	cin>>str1;
	cout<<"输入现在的进制(2~36):   ";
	cin>>d1;
	cout<<"输入目标进制(2~36):   " ;
	cin>>d2;
	if(d1<2||d1>36||d2<2||d2>36||str1[str1.size()-1]>d1)  cout<<"数据错误!"<<endl;
	else {
		if(d2!=10)	cout<<"结果为"<<intToA(Atoi(str1, d1), d2)<<endl;
		else	cout<<"结果为"<<Atoi(str1, d1)<<endl;
	}
	system("pause");
	getchar();
	system("cls");
}
void sushu() {
	long long n;
	cout<<"输入要判断的数:   ";
	cin>>n;
	for(int i=2; i<=sqrt(n); i++) {
		if(n%i==0) {
			cout<<n<<"是合数"<<endl;
			system("pause");
			getchar();
			system("cls");
			return;
		}
	}
	cout<<n<<"是素数"<<endl;
	system("pause");
	getchar();
	system("cls");
}
void jia() {
	long long a, b;
	cout<<"输入2个数进行加法:   ";
	cin>>a>>b;
	cout<<endl<<"结果为"<<a+b<<endl;
	system("pause");
	getchar();
	system("cls");
}
void jian() {
	long long a, b;
	cout<<"输入2个数进行减法:   ";
	cin>>a>>b;
	cout<<endl<<"结果为"<<a-b<<endl;
	system("pause");
	getchar();
	system("cls");
}
void chu() {
	double a, b;
	cout<<"输入2个数进行除法:   ";
	cin>>a>>b;
	printf("结果为%llf\n", a/b);
	system("pause");
	getchar();
	system("cls");
}
void cheng() {
	long long a, b;
	cout<<"输入2个数进行乘法:   ";
	cin>>a>>b;
	cout<<endl<<"结果为"<<a*b<<endl;
	system("pause");
	getchar();
	system("cls");
}
bool f(long long n) {
	for(long long i=2; i<=sqrt(n); i++) {
		if(n%i==0) {
			return 0;
		}
	}
	return 1;
}
void fenjie() {
	int n;
	cout<<"输入要分解的数:   ";
	cin>>n;
	if(f(n)) {
		cout<<n<<"本身就为素数";
	} else {
		cout<<n<<"=";
		for(int i=2; i*i<=n; i++) {
			if(!f(i)) {
				continue;
			} else {
				while(n!=i) {
					if(n%i==0) {
						cout<<i<<"*";
						n=n/i;
					} else {
						break;
					}
				}
			}
		}
		cout<<n;
	}
	cout<<endl;
	system("pause");
	getchar();
	system("cls");
}
void jiecheng() {
	int b;
	cout<<"输入要进行阶乘的数:   ";
	cin>>b;
	long long a=1;
	for(int i=b; i>=1; i--) {
		a*=i;
	}
	cout<<"结果为"<<a<<endl;
	system("pause");
	getchar();
	system("cls");
}
void cifang() {
	int b, c;
	cout<<"输入要求次方的数:   ";
	cin>>b;
	cout<<"输入要求的几次方:   ";
	cin>>c;
	long long a=1;
	for(int i=c; i>=1; i--) {
		a*=b;
	}
	cout<<"结果为"<<a<<endl;
	system("pause");
	getchar();
	system("cls");
}
void kaifang() {
	long long b;
	cout<<"输入要求开方的数:   ";
	cin>>b;
	double a=sqrt(b);
	printf("结果为%llf\n", a);
	system("pause");
	getchar();
	system("cls");
}
void gongyin() {
	long long b, a, max=-123415;
	cout<<"输入要求最大公因数的两个数:   ";
	cin>>b>>a;
	for(long long i=1; i<=min(a, b); i++) {
		if(a%i==0&&b%i==0&&i>max) {
			max=i;
		}
	}
	cout<<"结果为"<<max<<endl;
	system("pause");
	getchar();
	system("cls");
}
void gongbei() {
	long long b, a, min;
	cout<<"输入要求最小公倍数的两个数:   ";
	cin>>b>>a;
	for(long long i=max(a, b); i<=b*a; i++) {
		if(i%i==0&&i%b==0) {
			min=i;
			break;
		}
	}
	cout<<"结果为"<<min<<endl;
	system("pause");
	getchar();
	system("cls");
}
void paixu() {
	int n;
	cout<<"请输入元素个数:";
	cin >> n;
	int a[100000]= {};
	cout << "请输入元素:";
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	for (int i = 0; i < n - 1; i++) {
		for (int j = 0; j < n - i - 1; j++) {
			if (a[j] > a[j + 1]) {
				int temp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = temp;
			}
		}
	}
	cout << "排序后的元素:\n";
	for (int i = 0; i < n; i++) {
		cout << a[i] << " ";
	}
	cout<<endl;
	system("pause");
	getchar();
	system("cls");
}
void gongneng(int a) {
	switch(a) {
		case 1:
			jia();
			return;
		case 2:
			jian();
			return;
		case 3:
			chu();
			return;
		case 4:
			cheng();
			return;
		case 5:
			sushu();
			return;
		case 6:
			jiecheng();
			return;
		case 7:
			cifang();
			return;
		case 8:
			kaifang();
			return;
		case 9:
			fenjie();
			return;
		case 10:
			gongyin();
			return;
		case 11:
			gongbei();
			return;
		case 12:
			paixu();
			return;
		case 13:
			jinzhi();
			return;
	}
}
int main() {
	int a;
	while(1) {
		cout<<"**************计算器V2.0**************"<<endl;
		cout<<"*               1.加法               *"<<endl;
		cout<<"*               2.减法               *"<<endl;
		cout<<"*               3.除法               *"<<endl;
		cout<<"*               4.乘法               *"<<endl;
		cout<<"*               5.素数               *"<<endl;
		cout<<"*               6.求阶乘             *"<<endl;
		cout<<"*               7.求次方             *"<<endl;
		cout<<"*               8.求开方             *"<<endl;
		cout<<"*               9.分解质因数         *"<<endl;
		cout<<"*               10.求最大公因数      *"<<endl;
		cout<<"*               11.求最小公倍数      *"<<endl;
		cout<<"*               12.排序              *"<<endl;
		cout<<"*               13.进制转换          *"<<endl;
		cout<<"*               14.退出              *"<<endl;
		cout<<"**************************************"<<endl;
		cout<<"请选择第几项功能:  ";
		cin>>a;
		system("cls");
		if(a==14) {
			break;
		} else if(a>14||a<1) {
			cout<<"数据错误!"<<endl;
			system("pause");
			getchar();
			system("cls");
		} else {
			gongneng(a);
		}
	}
	return 0;
}

这两篇代码皆为原创,非转载!!!

c++——简单计算器 用C++编写简单计算器 限制: 1、只能使用分支语句与循环语句; 2、不能使用数组和自定义函数; (即把自己当作只学到分支语句和循环语句的初学者) 计算器要求: 1、可以进行简单的加、减、乘、除四则运算; 2、如出现多个运算符号,必须考虑先乘除后加减的运算顺序; 3、不需要括号运算符; 一个比较简单的程序,但加上了上述的限制后,让我耗费了很大的功夫。 源代码如下: #include<iost... 阅读详情

相关推荐

c++的可视化计算器

学生党的一个课程设计,希望可以对有些人有些帮助,第一次发,不好的话请多多原谅 c++: 一.题目要求:   设计一个可视化的计算器,可以执行+,-,*,/,.,%,()等操作。要求使用API来编写程序。(我的计算器输入的时候是以#号开始)。   二.需求分析:   1.问题描述: ①——用api来编写一个可视化的计算器程序,首先我们要用界面来实现它,所以我们要设计一个

Barcelona_Lu的博客 1万+

C++简易计算器的实现

计算器是近代人发明的可以进行数字运算的机器。

wmwmwmwmwm1234的博客 1万+

C++【QT系列】手搓计算器

C++【QT】手搓计算器

Zalamp的博客 350

C++ 简单计算器

C++实现简单的计算器 实现一个简单的计算器,可以实现对数字的加减乘除运算并输出显示结果。 完整代码 #include <iostream> using namespace std; int main() { char op; float num1, num2; cout << "输入运算符:+、-、*、/ : "; cin >...

weixin_45743799的博客 1万+

用QT+C++制作简单加减乘除计算器

只有简单的加减乘除功能,界面分布如下。这个是MainWindow.cpp。这个是MainWindow.h。这是main.cpp。

weixin_45154730的博客 1603

QT C++实现简单计算器(仿windows计算器普通模式)

写的过程很痛,网上找不到相关的详细的分析,所以想着发一个吧。 一 二 版本看自己喜好了,我的是5.4.2。 三 类名首字母大写。 四 //calculator.h #ifndef CALCULATOR_H #define CALCULATOR_H #include namespace Ui { class Calcula

cslqm 5595

C++实现计算器

C++实现计算器 作者:一个十分弱的c++入门程序员 今天我就来用c++来实现一个简单的计算器,包括的运算有,加,减,乘,根号(有兴趣的朋友可以根据我的源代码继续开发) 1、我们这里运用到的知识点是"继承" class.h #include<iostream> #pragma once #include<cmath>//包括一个数学库的头文件,用来进行根号的运算 using namespace std; class NUMBER//父亲 { public: int m_

weixin_44716401的博客 4758

C++制作简易计算器

C++制作简易计算器

qq_31716541的博客 3511

C++ Qt5 科学计算器 源代码

C++ Qt5 科学计算器源码 //download.youkuaiyun.com/download/weixin_45737857/11988218 关于具体的设计思路以及关键的问题,请看上两篇文章。

weixin_45737857的博客 1067

C++逆波兰表达式转化实现简单计算器

使用C++模版实现一个模版栈,并将中缀字符串计算式转化为逆波兰表达式,实现一个简单计算器功能。计算器有 + - * / ,支持负号,不支持小数,数字范围为 int 类型的取值范围。 下面为代码: stack_template.h #ifndef _MY_STACK_H #define _MY_STACK_H #include template struct stackNode { T

hahazhangyu0310的博客 1925

C++ 制作一个简单的计算器

计算器这个基本都很熟悉,一个简单的计算器有加法,减法,乘法,除法这四种功能。 如下图 此处我此处逻辑如下,先判断输入的运算符符号,然后在判断输入的数字来进行一个计算。 #include <iostream> using namespace std; int main() { char operator; float num1, num2; cout << "输入...

qq_39686486的博客 5628

C++计算器

#include<bits/stdc++.h> #include <Windows.h> using namespace std; int main(){ int lx,ja,jb,jo,jja,jjb,jjo,a; system("title 泽皓计算器V1.0"); cout<<"请输入要运算的类型:"<<endl; Sleep(500); cout<<"1 加法计算"<<endl;Sleep(500); cout.

泽皓博客 744

C++ Qt 自制开源科学计算器

一款基于C++ Qt独立开发并开源的一款科学计算器软件

m0_51510934的博客 2054

C++实现科学计算器(附源码)

文章目录C++实现计算器功能概述分析思路四则运算阶乘三角函数源码 C++实现计算器 前一段时间想巩固一下C++的知识点,就自己动手写了一个科学计算器,主要参考文章:C++实现计算器,又自己加了一些其他的功能。 功能概述 该计算器可以实现的功能为: 四则运算(能识别括号),并且支持小数 阶乘 三角函数和反三角函数 分析思路 下面我会依次分析各个功能中代码的思路 四则运算 四则运算应该是这个计算器...

melanchoe的博客 2万+

ABAP代码检查(Code Review)

1、SLIN 扩展程序检查 也可通过(SE38工具栏->检查-扩展程序检查) 进入 2、ATC 检查 通过<SE38菜单栏-检查-ABAP测试主控室> 或事物代码SCI, 支持自定义检查变式 SCI可以配置检查变式满足特殊需求,配置对象集用于批量检查 3、通过ABAP测试主控室实现统一管理,定期检查作业和监控功能(事务代码ATC) 参考 SLIN...

u012232542的博客 6069

Delta并联机械手-Codesys实现以及正解逆解研究

由于Codesys的Robotics模块有Delta并联机械手的运动模型,因此借助Codesys的机械手运动模型,研究自己的正解逆解算法。

weixin_42386991的博客 5567

用c++做一个简单的计算器

用C++做一个简单的计算器 本教程的主要内容是如何使用C++做一个简单的计算器。它可以实现最基本的计算功能,提供5种计算方式。 全部代码如下: #include <iostream> //导入命令行库 using namespace std; //定义命名空间 int main() //定义主函数 { int input,a,b,sum; //input:判断值,a&b:参...

eric_jiang_05的博客 1万+

CST实战:变容二极管电容曲线提取全流程(附S参数设置技巧)

本文详细介绍了在CST Studio Suite中提取变容二极管电容-电压(C-V)曲线的完整实战流程。重点解析了S参数仿真的核心原理、DCFEED模块的正确配置、参数扫描的设置技巧,并探讨了集成SPICE模型进行精确仿真的方法,帮助射频工程师高效、准确地获取器件关键特性。

weixin_29237635的博客 529

[C++]分数计算器(四则运算)class

//main.cpp #include #include"Rational.h" using namespace std; void main() { Rational calculate; calculate.Set(); calculate.Judge(); return; } //Rational.h class Rational { public: void Set()

yuchenchenyi的博客 2914

毫米波雷达IWR1843开箱演示

毫米波雷达IWR1843开箱演示

m0_56120826的博客 7779

对于基本的捕鱼游戏设计思路(五)——鱼

今天讲捕鱼游戏里鱼的部分,也是比较关键的一部分。 一步一步来,先分析游戏,首先鱼是从屏幕外生成,然后它有个移动的动作,而且分为不同的类型。 然后就可以进入代码部分,首先设置一个计时器,控制时间生成鱼,而鱼分种类,所以就用到随机函数,随机输出一个值,传入switch语句,从而生成不同的鱼。 void GameScene::xiaoyuupdate(float dt){ Size visibl

Cineze的博客 1万+

【哇! C++】类和对象(六) - 日期计算器

C++实现日期计算器

jp_yc的博客 1137

通达信双紫擒龙指标实战指南:从源码解析到精准安装

本文详细解析了通达信双紫擒龙指标的核心逻辑、源码获取与安全验证、安装流程及实战应用技巧。通过紫紫红黄四种颜色信号捕捉趋势转折点,结合MACD、布林通道和成交量加权算法,提升交易准确性。文章还提供了个性化设置、信号解读及常见问题解决方案,帮助投资者高效运用该指标。

weixin_29248611的博客 1057

科学计算器 C++

C++科学计算器(+,-,*,/)` 此程序利用C++制作了一个运算符为加,减,乘,除的科学计算器,若需要添加其它运算符,可以根据同样的思想和该运算符的优先级,添加和修改部分case实现。 #include<iostream> #include<stack> #include<string> #include<sstream> using name...

weixin_45081559的博客 1616

手把手教你编写PCIe设备驱动:基于Linux内核的实战教程

本文详细介绍了基于Linux内核的PCIe设备驱动开发全流程,包括环境准备、设备探测、中断处理、DMA配置等核心内容。通过实战代码示例和Makefile编写指南,帮助开发者快速掌握PCIe驱动开发技术,实现高性能设备驱动开发与优化。

weixin_30687051的博客 194

Skiplist,B,B+tree,LSM tree

SkipList 理解(如何实现): 即使是有序的链表,查找的时间复杂度也是O(n),但链表不能随机访问所以不适用于二分查找,使得查找的时间复杂度为O(logn)。 于是将有序链表和二分查找结合得到了SkipList,类似于二叉搜索树,这是一种以空间换时间的算法,通过在每个节点中增加向前的指针,从而提升查找效率(如下图所示)。 一开始如a所示,是一个有序的链表,时间复杂度O(n)。随后建立了e所示的SkipList,从最顶层往下查找,可以跳过许多元素,减少查找次数。 ​

weixin_45875458的博客 947
上一篇: c++ Vigenère密码
下一篇: C++ 递归版二分查找保姆级解析
c++程序师
博客等级 码龄4年 246粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值