【C】小学校一、二年生の数学能力試験の問題を間違えて表示し、自動的に点数をつける
3547 ワード
#include
#include
#include
#include
#define N 50 //
int ErrNo[N]={0}; //
int ErrCnt=0; //
int Erri[N]={0},Errj[N]={0},ErrAns[N]={0}; //
char ErrFlag[N]={0}; //
int start=0,end=0;
int n=0; //
int op();
void test_jj(int);
void test_j();
void score();
void test_cc();
main()
{int i;
i=op();
switch(i)
{case 1:test_j();break; //10
case 2:test_jj(10);break; //10
case 3:test_jj(100);break; //100
case 4:test_jj(1000);break; //1000
case 5:test_cc();break; //
default:printf(" ,
");system("pause");return;
}
score();
}
int op() //
{int i;
printf("===============================================
");
printf("= =
");
printf("= =
");
printf("= =
");
printf("===============================================
");
printf("
");
printf("\t1:0~10
");
printf("\t2:0~10
");
printf("\t3:0~100
");
printf("\t4:0~1000
");
printf("\t5:
");
scanf("%d",&i);
//system("pause");
return i;
}
void test_j() //10
{
int i,j,cnt,answer; //i ,j ,cnt ,answer
srand((unsigned)time(NULL)); //
system("cls");
start=time(NULL);
printf("
\t ,
\t");
system("pause");
cnt=0;
while(cnt=10)
continue;
system("cls");
printf("
\t %d :
",++cnt);
printf("\t%2d+%-2d=",i,j);
scanf("%d",&answer);
if(i+j!=answer)
{ErrNo[ErrCnt]=cnt+1;
Erri[ErrCnt]=i;
Errj[ErrCnt]=j;
ErrFlag[ErrCnt]='+';
ErrAns[ErrCnt]=answer;
ErrCnt++;
}
}
system("cls");
end=time(NULL);
printf("
\t ,
");
system("pause");
}
void test_jj(int n) // , n
{
int i,j,flag,cnt,answer; //i ,j ,flag 1 0 ,cnt ,answer
srand((unsigned)time(NULL)); //
system("cls");
start=time(NULL);
printf("
\t ,
");
system("pause");
cnt=0;
while(cnt=n)
continue;
if(!flag&&i-j<0)
continue;
system("cls");
printf("
\t %d :
",++cnt);
printf("\t%2d%c%-2d=",i,flag?'+':'-',j);
scanf("%d",&answer);
if(flag&&i+j!=answer || !flag&&i-j!=answer)
{ErrNo[ErrCnt]=cnt+1;
Erri[ErrCnt]=i;
Errj[ErrCnt]=j;
ErrFlag[ErrCnt]=flag?'+':'-';
ErrAns[ErrCnt]=answer;
ErrCnt++;
}
}
system("cls");
end=time(NULL);
printf("
\t ,
");
system("pause");
}
void test_cc() //
{
int i,j,cnt,answer; //i ,j ,flag 1 0 ,cnt ,answer
srand((unsigned)time(NULL)); //
system("cls");
start=time(NULL);
printf("
\t ,
");
system("pause");
cnt=0;
while(cnt