其实就是我太无聊了。
在家里背单词,感觉找不到一个可以自定义词汇表的背单词 app 好烦啊,忽然灵机一动,我为什么不自己写一个~~(丑的死)~~的背单词小工具呢?
这个时候才感觉是信息组的真好=w=
结果本来以为自己 5 分钟可以写完,然后写了 20 分钟……
这个~~应该没人想用~~的工具的用法如下:
在 english.in 文件里输入自定义的单词表:
先一行输入单词数,然后输入单词,然后输入词义(或者例句)空格请用其他符号代替(因为一开始用 gets 出了很多问题,又因为懒所以不想写读入优化就改成了 scanf)
运行,在操作台这么操作:
然后会开始,第一遍的单词会告诉你单词,输入 “y”,会再告诉你词义
如果记住了,输入 “y” 即可视为通过,否则输入任意字符。
对于第一遍通过的单词,会告诉你词义和首字母(在括号里),然后请你默写此单词。
如果默写对了,此单词不会再出现
假如所有单词通过,输出 “you are so good!” 来鼓励你
代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctime>
#include<cstdlib>
using namespace std;
struct node{
    char word[55],mean[205];
    int ok;
}t[1005],tmp;
int n,luk;
int main()
{
    char ch[55];
    freopen("english.in","r",stdin);
    srand(time(NULL));
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%s%s",t[i].word,t[i].mean);
    fclose(stdin);
    freopen("CON","r",stdin);//这是在 windows 系统启动操作台的命令,如果是 linux 系统请改为 freopen("/dev/console", "r", stdin)
    while(n){
        luk=rand()%n+1;
        if(!t[luk].ok){
            printf("%s\n",t[luk].word);
            scanf("%s",ch);
            printf("%s\n",t[luk].mean);
            scanf("%s",ch);
            if(ch[0]=='y')t[luk].ok++;
        }
        else {
            printf("%s (%c)\n",t[luk].mean,t[luk].word[0]);
            scanf("%s",ch);
            if(strcmp(ch,t[luk].word)==0){
                tmp=t[luk];t[luk]=t[n];t[n]=tmp;
                n--;printf("right!\n");
            }
            else {printf("wrong! %s\n",t[luk].word);}
        }
    }
    puts("you are so good!");
    return 0;
}
分类: 文章

litble

苟...苟活者在淡红的血色中,会依稀看见微茫的希望

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注