其实就是我太无聊了。
在家里背单词,感觉找不到一个可以自定义词汇表的背单词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

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

发表评论

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

你是机器人吗? =。= *