临近英语考试,发现有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则重来
期末不挂,大家加油