#include<bits/stdc++.h>
#define ll long long //将long long替换为自定义名称,节省打字时间
using namespace std;
ll myfac(ll x,int k,ll y){ //定义函数
switch(k){ //通过分支判断随机数的值,并返回特定值
case 1:{
return x+y;
break;
}
case 2:{
return x-y;
break;
}
case 3:{
return x*y;
break;
}
case 4:{
return x/y;
break;
}
}
}
char myfac2(int f){ //定义函数
switch(f){ //通过随机数的值生成对应符号并返回
case 1:{
return '+';
break;
}
case 2:{
return '-';
break;
}
case 3:{
return '*';
break;
}
case 4:{
return '/';
break;
}
}
}
int main(){
srand(time(0)); //时间初始化
char ysf; //定义运算符,用于输出表达式
ll answer,sjs1,sjs2,a,b; //定义所需变量
int k; //此处变量用于随机产生运算符
cout<<"Please enter the interval range:"<<endl; //输入提示
cin>>a>>b; //输入范围
for(int i=1;i==1;i=1){ //无限循环
k=rand()%4+1; //产生1-4的随机数
if(a<b){ //判断输入的数那个更大,并生成对应范围的两个随机数
sjs1=rand()%b+a;
sjs2=rand()%b+a;
}else{
sjs1=rand()%a+b;
sjs2=rand()%a+b;
}
ysf=myfac2(k); //根据产生的随机数生成对应运算符
cout<<sjs1<<ysf<<sjs2<<"="; //输出表达式
cin>>answer; //输入答案
for(int j=1;j==1;j=1){ //无限循环判断,如果答案等于表达式的值那么输出you win且跳出循环,继续下一次输出表达式,否则输出you lose并再次生成对应范围的表达式
if(answer==myfac(sjs1,k,sjs2)){
cout<<"You win"<<endl;
break;
}else{
cout<<"You lose"<<endl;
k=rand()%4+1;
ysf=myfac2(k);
if(a<b){
sjs1=rand()%b+a;
sjs2=rand()%b+a;
}else{
sjs1=rand()%a+b;
sjs2=rand()%a+b;
}
cout<<sjs1<<ysf<<sjs2<<"="; //输出表达式
cin>>answer; //输入答案
}
}
}
return 0;
}
c++创意编程-计算达人
最新推荐文章于 2024-07-15 13:32:43 发布