重大更新,新增10以内的算数,计算机出题,你算。
下一个版本将会调用beep函数,实现奏乐功能,敬请期待。
#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h>
using namespace std;
int hnta[64],hntb[64],hntc[64];
int total;
void mi()
{
char ttttt;
do
{
cout<<"[1]加密 [2]解密:";
string x,y;
string ab;
do
{
getline(cin,ab);
}
while(ab!="1"&&ab!="2");
getline(cin,x);
if(ab=="1")
{
int a[x.size()];
int t[x.size()];
for(int i=0;i<x.size();++i)
{
if(i%2)
{
a[i/2]=x[i];
}
else
{
t[i/2]=x[i];
}
}
for(int i=0;i<=x.size()/2;++i)
{
a[i+(x.size())/2]=t[i];
}
for(int i=0;i<x.size();++i)
{
cout<<(char)(a[i]/100+'A')<<(char)(a[i]/10%10+'A')<<(char)(a[i]%10+'A');
}
}
else
{
int a[x.size()/3]={};
for(int i=0;i<x.size();++i)
{
a[i/3]*=10;
a[i/3]+=(int)(x[i]-'A');
}
for(int i=0;i<x.size()/3;++i)
{
if(i%2)
{
cout<<(char)(a[i/2]);
}
else
{
cout<<(char)(a[i/2+(x.size()/3)/2]);
}
}
}
ttttt=getchar();
}
while(ttttt!='\n');
}
void js()
{
char t;
do
{
string s;
cin>>s;
char c[1024]={"powershell "};
for(int j=0;j<s.size();++j)
{
c[j+11]=s[j];
}
const char *i=c;
system(i);
t=getchar();
}
while(t!='\n');
}
void sys()
{
char t;
do
{
string s;
cin>>s;
char c[1024]={""};
for(int j=0;j<s.size();++j)
{
c[j]=s[j];
}
const char *i=c;
system(i);
t=getchar();
}
while(t!='\n');
}
void ch()
{
char t;
do
{
cout<<"[1]char->int [2]int->char:";
int a,b;
cin>>a;
cout<<"char|int:";
cin>>b;
char c=b;
if(a==1)
{
cout<<"正在开发";
return;
cout<<b;
}
else
{
cout<<c;
}
t=getchar();
}
while(t!='\n');
}
void yx2048()
{
cout<<"正在开发";
return;
int a[4][4]={2,4},maxv=2;
while(maxv!=2048)
{
cout<<123;
Sleep(100);
system("cls");
for(int i=0;i<4;++i)
{
for(int j=0;j<4;++j)
{
cout<<a[i][j]<<' ';
}
cout<<'\n';
}
int b=getch();
char c=b;
switch(c)
{
case 'w':
{
for(int p=1;p<4;++p)
{
for(int i=0;i<4;++i)
{
for(int j=1;j<4;++j)
{
if(a[i][j]==a[i][j-1])
{
a[i][j]=0;
a[i][j-1]*=2;
}
if(a[i][j-1]==0)
{
swap(a[i][j],a[i][j-1]);
}
}
}
}
break;
}
case 's':
{
for(int p=1;p<4;++p)
{
for(int i=0;i<4;++i)
{
for(int j=4;j>0;--j)
{
if(a[i][j]==a[i][j+1])
{
a[i][j]=0;
a[i][j+1]*=2;
}
if(a[i][j+1]==0)
{
swap(a[i][j],a[i][j+1]);
}
}
}
}
break;
}
case 'd':
{
for(int p=1;p<4;++p)
{
for(int i=4;i>0;--i)
{
for(int j=0;j<4;++j)
{
if(a[i][j]==a[i+1][j])
{
a[i][j]=0;
a[i+1][j]*=2;
}
if(a[i+1][j]==0)
{
swap(a[i][j],a[i+1][j]);
}
}
}
}
break;
}
case 'a':
{
for(int p=1;p<4;++p)
{
for(int i=1;i<4;++i)
{
for(int j=0;j<4;++j)
{
if(a[i][j]==a[i-1][j])
{
a[i][j]=0;
a[i-1][j]*=2;
}
if(a[i-1][j]==0)
{
swap(a[i][j],a[i-1][j]);
}
}
}
}
break;
}
}
}
}
void csh()
{
cout<<"初始化完成"<<endl;
}
void zh()
{
cout<<"暂时只能十进制以内的进制转换(因为有字母)也不能是小数(用的是int)"<<endl<<"请输入第一个数:";
int x,y,z;
cin>>x;
cout<<endl<<"第一个数是什么进制:";
cin>>y;
cout<<endl<<"转换成什么进制:";
cin>>z;
if(y==z)
{
cout<<x;
}
else
{
cout<<"正在开发";
return;
if(y<z)
{
}
}
}
void col()
{
cout<<"0=黑色\n1=蓝色\n2=绿色\n3=浅绿色\n4=红色\n5=紫色\n6=黄色\n7=白色\n8=灰色\n9=淡蓝色\nA=淡绿色\nB=淡浅绿色\nC=淡红色\nD=淡紫色\nE=淡黄色\nF=亮白色\n";
string s;
cin>>s;
char c[1024]={"color "};
for(int j=0;j<s.size();++j)
{
c[j+11]=s[j];
}
const char *i=c;
system(i);
}
bool ishnt(int a)
{
if(1);
return 0;
}
void dghnt(int a,int b,int c)
{
while(ishnt(a));
}
void hnt()
{
cout<<"正在开发中";
return;
cout<<"几层汉诺塔:";
cin>>total;
}
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
void gybs()
{
char t;
do
{
cout<<"[1]最大公因数 [2]最小公倍数:";
int a,b,c;
cin>>a;
cout<<"第一个数和第二个数:";
cin>>b>>c;
if(a==1)
{
cout<<gcd(b,c);
}
else
{
cout<<b*c/gcd(b,c);
}
t=getchar();
}
while(t!='\n');
}
void tenjia()
{
int tt=0,sum=0;
cout<<"欢迎来做计算题,选择是或者否。\n要做多少道:";
cin>>tt;
int ttt=tt;
while(tt--)
{
srand((unsigned)time(NULL));
int a=rand()%10,b=rand()%10,n=rand()%10,t=rand()%5;
string s;
s+=(a+'0');
s+='+';
s+=(b+'0');
s+='=';
char c[6]={""};
for(int j=0;j<4;++j)
{
c[j]=s[j];
}
if(t==3)
{
cout<<333<<endl;
if(a+b<10)
{
c[4]=a+b+'0';
}
else
{
a+=b;
a%=10;
c[4]='1';
c[5]=a+'0';
}
}
else
{
if(n<10)
{
c[4]=n+'0';
}
else
{
c[4]='1';
c[5]=n%10+'0';
}
}
const char *i=c;
if(MessageBox(NULL,i,"算数",MB_YESNO)==IDYES)
{
if(t==3)
{
++sum;
}
else
{
if(a+b==n)
{
++sum;
}
}
}
else
{
if(t!=3)
{
if(a+b!=n)
{
++sum;
}
}
}
}
cout<<"您做了"<<ttt<<"道题,您对了"<<sum<<"道题。";
}
int main()
{
cout<<"正在初始化工具,请稍等"<<endl;
csh();
while(1)
{
char a;
cin>>a;
switch(a)
{
case'1':
mi();
break;
case '2':
js();
break;
case '3':
yx2048();
break;
case '4':
sys();
break;
case '5':
ch();
break;
case '6':
zh();
break;
case '7':
col();
break;
case '8':
hnt();
break;
case '9':
gybs();
break;
case 'a':
tenjia();
break;
case '0':
return 0;
case '?':
cout<<"[1]加密 [2]计算 [3]2048 [4]调用系统函数 [5]char——int互换 [6]进制转换 [7]文字颜色 [8]汉诺塔 [9]最大公约数、最小公倍数 [a]10以内加法 [0]退出 每次双回车退出";
break;
default:
cout<<"输入‘?’获得提示(小写)";
break;
}
cout<<'\n';
string s;
getline(cin,s);
}
return 0;
}