这是写的加法小程序。当算错时,继续算,直到算正确为止才能做下一题。
但我想统计一下命中率,我试过自己改 ,有误差。
#include<stdlib.h>
#include<time.h>
int main()
{
int x,//加数
y,//被加数
z,//正确结果
n,//测试者输入的结果
count1=0,//对正确结果的统计
count=0;//对所有结果的统计
float A;//得分点
srand(time(NULL));
x=rand()%100;
y=rand()%100;
z=x+y;
do
{
cout<<x<<" + "<<y<<" = ?"<<endl;
cout<<"Please intput answer: ";
cin>>n;
count++;//在这里统计测试者输入的次数,但我想应该统计理论结果的次数,即题目的数量,找不到边~~
if(n==z)
{
x=rand()%100;
y=rand()%100;
z=x+y; //我在这里这么做是为了在算正确后可以随机产生新的题目
cout<<"Great,you got it!"<<endl;
count1++;//统计正确结果的次数
}
else
if((n!=z)&&((n=cin.get())!=EOF))
cout<<"Oh,you must check it!"<<endl;
}while((n=cin.get())!=EOF);
A=100*count1/count;
cout<<"You got "<<A<<" points."<<endl;
}