/* Ctype */ #include #include #include #define tup 60 //制限時間デフォルト60秒 int main() { time_t s_time,e_time,n_time; int i= 0; int yn; int point=0; /*C言語のキーワード集*/ char *qstr[33]={"auto","break","case","char","const","continue","default","do","double","else", "enum","extern","float","for","goto","if","int","long","register","return","short", "signed","sizeof","static","struct","switch","typedef","union","unsigned","void", "volatile","while"}; char *estr[100]; while(1){ printf("それではタイピングを始めますか?制限時間は60秒です。[0]yes [1]no\n"); scanf("%d",&yn); if (yn != 0){ return 0; }else{ printf("下に表示されるC言語のキーワードを打ってください\n"); time(&s_time);//s_timeに開始時間を格納 e_time = s_time + tup; time(&n_time);//s_timeに現在の時間を格納 while(e_time >= n_time){ printf("残り時間%d秒 正解数%d\n",e_time - n_time,i); while((strcmp(qstr[i],estr) != 0) & (e_time >= n_time)){ printf("%s\n",qstr[i]); scanf("%s",estr); if (strcmp(qstr[i],estr) == 0){ printf("正解\n"); point++; }else{ printf("違うよ\n"); time(&n_time); if(e_time >= n_time) printf("残り時間%d秒 正解数%d\n",e_time - n_time,i); } } i++; time(&n_time); } printf("正解数は%d問です。\n",point); printf("リトライ? [0]yes [1]no "); scanf("%d",&yn); if (yn == 1) return 0; } } return 0; }