64,648
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include "stdlib.h"
#define MAX 10
#include "time.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
char suanfa(int n) {
switch(n) {
case 0:return '+';
case 1:return '-';
case 2:return '*';
case 3:return '/';
}
}
int main(int argc, char** argv) {
time_t tt = time(NULL),te=tt+60;
tm* t= localtime(&tt);
printf("%d-%02d-%02d %02d:%02d:%02d\n", //得到当前时间
t->tm_year + 1900,
t->tm_mon + 1,
t->tm_mday,
t->tm_hour,
t->tm_min,
t->tm_sec);
srand((unsigned)time(NULL));//随机题目不重复
int number1,number2;int i;int count=0;
float user_answer,right_answer;
int operators;
int td;
for(i=1;i<=MAX;i++) {
number1=rand()%100;
number2=rand()%100;
operators=rand()%4;
td=int(te-time(NULL));
if (td>0) {
cout<<"You have "<<td<<" second(s)!"<<endl;
} else {
cout<<"60s timeover!"<<endl;
break;
}
cout<<i<<":"<<number1<<suanfa(operators)<<number2<<"=";
cin>>user_answer;
if (time(NULL)>te) {
cout<<"60s timeover!"<<endl;
break;
}
switch(operators) {
case 0:right_answer=number1+number2;break;
case 1:right_answer=number1-number2;break;
case 2:right_answer=number1*number2;break;
case 3:right_answer=number1/number2;break;
}
if(right_answer==user_answer) {
cout<<"you are right."<<endl;
count++;
} else
cout<<"you are wrong."<<endl;
}
cout<<count<<"/"<<(i-1);/*准确率*/
return 0;
}