临近英语考试,发现有400多个单词要背,对于我这种不爱背单词的人,这不是挂科的节奏吗!!还好校赛完对代码上瘾,自己瞎捉摸出一个默写的小程序,这样背单次感觉方便多了。嗯嗯感觉有前途,期末考试完加几个功能挑战一下百词斩hh(我也信了)。
代码如下:
/*dictation
by Nova
2018.1.3*/
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
struct word
{
char arr[3], brr[111], crr[3], drr[111];
} w[500], re[500];
int main()
{
char ans[111], ag[4];
int k=0, co, flag = 0, n;
printf("请输入单词的个数:\n");
scanf("%d", &n);
printf("请输入单词:\n");
for(int i = 0; i < n; i++) scanf("%s%s%s%s", w[i].arr, w[i].brr, w[i].crr, w[i].drr);
do
{
k = 0, flag = 0;
printf("\n开始默写\n");
for(int i = 0; i < n; i++)
{
co = 0;
printf("%s : ", w[i].brr);
while(scanf("%s", ans) && strcmp(ans, w[i].drr) != 0)
{
printf("WA\n%s : ", w[i].brr);
re[k] = w[i], co = 1, flag = 1;
}
if(co) k++;
printf("AC\n");
}
if(!flag) printf("大学霸!\n");
else
{
printf("以下单词还需加强:\n");
for(int i = 0; i < k; i++) printf("%s %s\n", re[i].brr, re[i].drr);
}
printf("again? Yes or NO\n");
}
while(scanf("%s", ag) && ag[0] == 'Y');
return 0;
}
使用方法:
1.输入你想默写的单词个数
2.输入你想默写的词条,每个词一行,注意此代码针对一个词条中有4个元素的,即标号,中文,词性,英文,每两个元素间要有空格,如果需要输入的词条中与以上元素不同请自行修改。
3.开始默写,开动吧少年~~~正确反馈AC并默写下一个,错误则反馈WA并重来
4.默写结束后反馈你错过的单词,并询问是否再来一遍,输入Y则重来
期末不挂,大家加油