超级多功能运算器1.0
功能:
1,四则运算
2,次方
3,开方
4,按位与,或,异或
5,二进制移位
6,加密
7,解密
8,退出
废话不多说,直接上代码:
#include <iostream>
#include <cmath>
#include <cstring>
char choice,n;
int a,b;
double c;
char str[1001] = {};
bool judge = false,num = false,flag = false;
using namespace std;
int main(){
string s;
while(true){
if(num == false){
while(true){
if(judge == false){
cout<<"欢迎使用运算器"<<endl;
cout<<"请问您要使用什么运算器?"<<endl;
cout<<"A,多功能运算器"<<endl;
cout<<"B,按位运算器"<<endl;
cout<<"C,移位运算器"<<endl;
cout<<"D,加密"<<endl;
cout<<"E,解密"<<endl;
cout<<"F,退出"<<endl;
cout<<endl;
cin>>choice;
cout<<endl;
switch (choice) {
case 'A':
cout<<"请输入:"<<endl;
cout<<"加 ,减 ,乘 ,除或次幂(^),开方(&)"<<endl;
cout<<"如要开方第二个数字为1"<<endl;
cout<<endl;
cin>>a>>n>>b;
while(true){
if(flag == false){
switch(n){
case '+':
cout<<a<<"+"<<b<<" = "<<a+b<<endl;
cout<<endl;
break;
case '-':
cout<<a<<"-"<<b<<" = "<<a-b<<endl;
cout<<endl;
break;
case '*':
cout<<a<<"*"<<b<<" = "<<a*b<<endl;
cout<<endl;
break;
case '/':
if(b == 0){
cout<<"除数不能为0!"<<endl;
cout<<endl;
flag = true;
break;
}
c = double(a) / double(b);
cout<<a<<"/"<<b<<" = "<<c<<endl;
cout<<endl;
break;
case '^':
cout<<a<<"^"<<b<<" = "<<pow(a,b)<<endl;
cout<<endl;
break;
case '&':
if(b != 1){
cout<<"请您注意规则!"<<endl;
cout<<endl;
}else{
cout<<a<<"&"<<b<<" = "<<sqrt(double(a))<<endl;
cout<<endl;
}
break;
default:
cout<<"请输入:"<<endl;
cout<<"加 ,减 ,乘 ,除或次幂(^),开方(&)"<<endl;
cout<<endl;
flag = true;
break;
}
break;
}else{
flag = false;
cin>>a>>n>>b;
}
}
break;
case 'B':
cout<<"请输入按位运算符:"<<endl;
cout<<"按位运算符:与& , 或| , 异或^"<<endl;
cout<<endl;
cin>>a>>n>>b;
while(true){
if(flag == false){
switch (n) {
case '&':
cout<<a<<"&"<<b<<" = "<<(a & b)<<endl;
cout<<endl;
break;
case '^':
cout<<a<<"^"<<b<<" = "<<(a ^ b)<<endl;
cout<<endl;
break;
case '|':
cout<<a<<"|"<<b<<" = "<<(a | b)<<endl;
cout<<endl;
break;
default:
cout<<"请输入按位运算符:"<<endl;
cout<<"按位运算符:与& , 或| , 异或^"<<endl;
cout<<endl;
flag = true;
continue;
}
if(flag == false){
break;
}
}else{
flag = false;
cin>>a>>n>>b;
}
}
break;
case 'C':
cout<<"请输入:"<<endl;
cout<<"左移(<<)或右移(>>)"<<endl;
cout<<endl;
cin>>a>>s>>b;
if(s[0] == '>' && s[1] == '>'){
cout<<a<<">>"<<b<<" = "<<(a >> b)<<endl;
cout<<endl;
}else if(s[0] == '<' && s[1] == '<'){
cout<<a<<"<<"<<b<<" = "<<(a << b)<<endl;
cout<<endl;
}else{
cout<<"请输入:"<<endl;
cout<<"左移(<<)或右移(>>)"<<endl;
cout<<endl;
}
break;
case 'D':
cout<<"请输入加密内容(英文,内容后加空格!):"<<endl;
cin>>str;
for(int i = 0;i < strlen(str);i++){
str[i] = str[i] + 75;
}
cout<<str<<endl;
cout<<endl;
flag = true;
break;
case 'E':
cout<<"请输入解密内容:"<<endl;
cin>>str;
for(int i = 0;i < strlen(str);i++){
str[i] = str[i] - 75;
}
cout<<str<<endl;
cout<<endl;
flag = true;
break;
case 'F':
num = true;
break;
default:
cout<<"请输入大写的A,B,C,D,E,F"<<endl;
cout<<endl;
num = true;
break;
}
if(judge == false){
break;
}
}else{
judge = false;
cin>>a>>n>>b;
}
}
}else{
break;
}
}
return 0;
}