单词库需要手动添加单词,一共有三个txt文档

文档格式如下

备注:必修严格按照格式来,否者则会显示不准确。

实现功能如下

查询单词:汉语查询英语英语查查询汉语

背诵模式:出现英语默写汉语,出现汉语默写英语

还有 错词背诵模式    
         查看全部单词  
         查看全部错词  
         移除一个错词

等等

全部代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
void menu();
void beidanci();
void words();
void lookcw();
void search();
void movecc();
void beidancicw();
int k=1;
int main()
{int w=0;while(k!=0)
{   menu();
}system("pause");return 0;
}
void words()
{   int i=0;typedef struct stu{    int j;char yw[20];char zw[20];}dcb;dcb dcb_[1000];  FILE *fp;fp=fopen("D:\\仿真单词本\\dancibenqb.txt","r");if(!fp){printf("打开失败!");exit(1);}fscanf(fp,"%d%s%s",&dcb_[i].j,dcb_[i].yw,dcb_[i].zw);while(!feof(fp)){i++;fscanf(fp,"%d%s%s",&dcb_[i].j,dcb_[i].yw,dcb_[i].zw);}fclose(fp);dcb_[i+1].j=0;i=0;printf("单词本的信息如下\n");while((dcb_[i].j)!=0){printf("%d %s %s\n",dcb_[i].j,dcb_[i].yw,dcb_[i].zw);i++;}system("pause");
}
void beidanci()
{typedef struct stu{    int j;char yw[20];char zw[20];}dcb;dcb dcb_[1000];typedef struct ct{int c;char Cyw[20];char Czw[20];}ctb;ctb ctb_[1000];FILE *fp;int i=0,count=0,q=0;int w=1,count1;char zwsr[20];fp=fopen("D:\\仿真单词本\\dancibenqb.txt","r");   fscanf(fp,"%d%s%s",&dcb_[i].j,dcb_[i].yw,dcb_[i].zw);while(!feof(fp)){i++;fscanf(fp,"%d%s%s",&dcb_[i].j,dcb_[i].yw,dcb_[i].zw);}fclose(fp);fp=fopen("D:\\仿真单词本\\dancibencw.txt","r");    fscanf(fp,"%d%s%s",&ctb_[q].c,ctb_[q].Cyw,ctb_[q].Czw);while(!feof(fp)){q++;fscanf(fp,"%d%s%s",&ctb_[q].c,ctb_[q].Cyw,ctb_[q].Czw);}count1=q;fclose(fp);dcb_[i+1].j=0;int m=0;printf("单词本的信息如下\n");while((dcb_[m].j)!=0){printf("%d %s %s\n",dcb_[m].j,dcb_[m].yw,dcb_[m].zw);m++;}count=m;int n;int sjs[50]={0};//随机数 srand(time(NULL));printf("请选择背单词的模式:\n\n1:   出现英语背诵翻译  \n2:   出现汉字默写英语\n");int num,p=0;scanf("%d",&num);if(num==1){printf("请输入背单词的数量"); scanf("%d",&n);for(int i=0;i<n;i++){sjs[i]=rand()%count+1;}int c=0;int zw=0;for(int i1=0;i1<n;i1++){printf("%s\n",dcb_[sjs[i1]].zw);scanf("%s",zwsr);if(strcmp(zwsr,dcb_[sjs[i1]].yw)!=0){  printf("背诵错误,已计入错题本!\n");     fp=fopen("D:\\仿真单词本\\dancibencw.txt","a+");if(!fp){printf("打开失败");exit(1); }else {fprintf(fp,"%d %s %s\n",count1+1,dcb_[sjs[i1]].yw,dcb_[sjs[i1]].zw);count1++;}fclose(fp);}else{printf("回答正确"); }}}if(num==2){printf("请输入背单词的数量"); scanf("%d",&n);for(int i=0;i<n;i++){sjs[i]=rand()%count+1;}for(int i1=0;i1<n;i1++){printf("%s\n",dcb_[sjs[i1]].yw);scanf("%s",zwsr);if(strcmp(zwsr,dcb_[sjs[i1]].zw)!=0){printf("背诵错误,已计入错题本!\n");ctb_[w].c=dcb_[sjs[i1]].j;fp=fopen("D:\\仿真单词本\\dancibencw.txt","a+");if(!fp){printf("打开失败");exit(1); }else {fprintf(fp,"%d %s %s\n",count1+1,dcb_[sjs[i1]].yw,dcb_[sjs[i1]].zw);count1++; }}else{printf("回答正确"); }}   }}
void lookcw()
{typedef struct ct{int c;char Cyw[20];char Czw[20];}ctb;ctb ctb_[1000];int i=0;FILE*fp;fp=fopen("D:\\仿真单词本\\dancibencw.txt","r");if(!fp){printf("打开失败!!!"); exit(1); };fscanf(fp,"%d%s%s",&ctb_[i].c,ctb_[i].Cyw,ctb_[i].Czw);while(!feof(fp)){i++;fscanf(fp,"%d %s %s",&ctb_[i].c,ctb_[i].Cyw,ctb_[i].Czw);}fclose(fp);ctb_[i].c=0;i=0;printf("错题如下\n");while(ctb_[i].c!=0){printf("%d %s %s\n",ctb_[i].c,ctb_[i].Cyw,ctb_[i].Czw);i++;}}
void search()
{   int i=0;typedef struct stu{    int j;char yw[20];char zw[20];}dcb;dcb dcb_[1000];FILE *fp;fp=fopen("D:\\仿真单词本\\dancibenqb.txt","r");if(!fp){printf("打开失败!");exit(1);};fscanf(fp,"%d%s%s",&dcb_[i].j,dcb_[i].yw,dcb_[i].zw);while(!feof(fp)){i++;fscanf(fp,"%d%s%s",&dcb_[i].j,dcb_[i].yw,dcb_[i].zw);}int count=i;int se;int m=0; char srdc[20];printf("请选择:\n1 查英文\n2 查汉语\n") ;scanf("%d",&se);if(se==1){printf("请输入要查询的中文:"); scanf("%s",srdc);while(strcmp(dcb_[m].zw,srdc)!=0&&m<count)m++;if(m<count)printf("\n 该单词中文意思为:%s",dcb_[m].yw);elseprintf("抱歉,未找到该单词");}if(se==2){printf("请输入要查询的英文:");scanf("%s",srdc);while(strcmp(dcb_[m].yw,srdc)!=0&&m<count)m++;if(m<count)printf("\n 该单词意思为:%s",dcb_[m].zw);elseprintf("抱歉,未找到该单词");}}
void movecc()
{   char del[100];typedef struct ct{int c;char Cyw[20];char Czw[20];}ctb;ctb ctb_[1000];int i=0,num;int se=0;FILE*fp,*fp1;fp=fopen("D:\\仿真单词本\\dancibencw.txt","r+");fp1=fopen("D:\\仿真单词本\\dancibencw1.txt","w+");if(!fp){printf("打开失败!!!"); exit(1); };if(!fp1){printf("打开失败!!!"); exit(1); };fscanf(fp,"%d%s%s",&ctb_[i].c,ctb_[i].Cyw,ctb_[i].Czw);while(!feof(fp)){i++;fscanf(fp,"%d%s%s",&ctb_[i].c,ctb_[i].Cyw,ctb_[i].Czw);}fclose(fp);int count=i;printf("请输入要删除的单词");scanf("%s",del);for(i=0;i<count+1;i++){if(!strcmp(del,ctb_[i].Czw)){printf("删除成功");se=i;num=1; break;}if(!strcmp(del,ctb_[i].Cyw)){printf("删除成功");se=i;num=1;break;}    if(num==1){ printf("删除失败");return ;} }ctb_[count].c=0  ;strcpy(ctb_[count+1].Czw,"###");strcpy(ctb_[count+1].Cyw,"###");for(i=se;i<count;i++){ctb_[i]=ctb_[i+1];}int m=0; printf("输出当前错词表\n"); while(ctb_[m].c!=0){fprintf(fp1,"%d %s %s\n",m+1,ctb_[m].Cyw,ctb_[m].Czw);printf("%d %s %s\n",m+1,ctb_[m].Cyw,ctb_[m].Czw);m++;};if(remove("D:\\仿真单词本\\dancibencw.txt")!=0)printf("删除失败!!!"); fclose(fp1);rename("D:\\仿真单词本\\dancibencw1.txt","D:\\仿真单词本\\dancibencw.txt");}
void beidancicw()
{typedef struct ct{int c;char Cyw[20];char Czw[20];}ctb;ctb ctb_[1000];FILE *fp;int sjs[50]={0};char sr[20];int q=0,n; fp=fopen("D:\\仿真单词本\\dancibencw.txt","r");    fscanf(fp,"%d%s%s",&ctb_[q].c,ctb_[q].Cyw,ctb_[q].Czw);while(!feof(fp)){q++;fscanf(fp,"%d%s%s",&ctb_[q].c,ctb_[q].Cyw,ctb_[q].Czw);}int count1=q;fclose(fp);printf("请输入背单词的数量"); scanf("%d",&n);srand(time(NULL));for(int i=0;i<n;i++){sjs[i]=rand()%count1+1;}for(int i1=0;i1<n;i1++){printf("%s\n",ctb_[sjs[i1]].Czw);scanf("%s",sr);if(strcmp(sr,ctb_[sjs[i1]].Cyw)!=0){  printf("背诵错误\n");  }       else{printf("回答正确\n"); }}}
void menu()
{printf(" \n\n                    ");printf("                         仿真单词本                \n");printf("\t*************************************************************************************************\n");printf("  请输入您要选择的内容:\n");printf("                                       0:退出程序     \n ");printf("                                      1:查找模式     \n ");printf("                                      2:全文背诵模式     \n ");printf("                                      3:错词背诵模式     \n ");printf("                                      4:查看全部单词     \n ");printf("                                      5:查看全部错词         \n ");printf("                                      6: 移除一个错词             \n");printf("\n");printf("\t**********************************************************************************************\n");int num;scanf("%d",&num);switch(num){case 0:k=0;break;case 1:search();break;case 2:beidanci();break; case 3:beidancicw();break;case 4:words();break;case 5:lookcw();break;case 6:movecc();break;default:printf("请在0--8之间选择");}
}

英语单词背诵系统(有单词背诵,错词背诵功能)相关推荐

  1. 用PPT辅助英语错词背诵

    用PPT辅助英语错词背诵 因为不想搞科研就开始背雅思语料库,3个test听写下来发现错的实在太多了orz,想把错词好好背一下,之前在b站上看到一个不错的背词视频,中心思想是把单词+例句+图片放屏幕上, ...

  2. IBM语音识别系统实现错词率重大突破

    技术领域的从业者花了数年时间开发语音识别软体.目前,IBM称其语音识别软体的字词错误率仅为5.5%,低于之前的6.9%的记录.这对于语音识别行业来说是重大的里程碑,可能最终会引领Siri和Alexa等 ...

  3. spring-data-elasticsearch suggest实现错词纠正和自动补全

    背景: 项目中使用了spring-data-elasticsearch注解配置了mapping,实现全文搜索功能. 接到需求需要实现错词纠正功能和自动补全功能: 在网上找的资料,可以通过ES的sugg ...

  4. 基于jsp的计算机英语单词学习系统

    计算机英语单词学习系统提供了一个科学.开放.先进的英语单词信息化学习平台,实现了单词信息的语种管理.词汇分类管理.词汇信息管理.在线学习管理.学习统计管理等管理内容的高度继成.非常适合毕业设计使用. ...

  5. 基于android系统的单词学习软件设计与开发【附项目源码+论文说明】分享

    基于android系统的单词学习软件设计与开发演示 摘要 随着手机使用的普及,人们获取与保存信息的方式已经发生了激动人心的转变.智能手机正在逐步融入我们的生活,并影响和改变着我们的生活.由于现在各种智 ...

  6. 基于AndroidStudio+Java+SQLite开发的背单词APP系统

    目 录 第一章 绪论 1 1.1 选题设计开发的应用背景及价值 1 1.2 选题的研究现状 1 1.3 关于本课题 2 第二章 开发环境与主要技术 3 2.1 开发平台 3 2.2 主要技术 4 2. ...

  7. python英语单词 扇贝英语安卓下载_扇贝单词app下载-扇贝单词英语版 安卓版v3.6.503-pc6手机下载...

    扇贝单词app是一款可以和小伙伴一起学英语背单词的app,扇贝单词英语版属于千万用户的背单词神器,让你的英语水平突飞猛进,你确定不要来试一试吗? 软件介绍 扇贝单词英语版是一款很实用的英语单词学习软件 ...

  8. hubliderx如选择相同单词_高考英语,十六种高效单词记忆法,建议人手一份!

    词汇,无疑是高考英语成败的决定性因素.每位高中生,对词汇的掌握和记忆都不该有丝毫懈怠.西面是豆哥即将高考的同学们整理出来的十六种高效单词记忆法,一定要收藏起来好好学.好好记哦! 更多学习资料以及答题技 ...

  9. 【英语四六级-必背单词】高中英语单词(C - 2)MP3试听与下载

    [英语四六级-必背单词] C - 2 单词试听与下载:高中英语单词(C - 2) MP3试听与下载 chips [tʃɪps] n. (pl.)炸土豆条(片) chocolate [ˈtʃɔklət] ...

  10. iOS英语背单词神器-背轻松-单词卡APP系列推荐

    为了学习英语我是煞费苦心啊! 今天给大家推荐一款单词神器, 英语背单词APP-"背轻松".首先说明一下, 背轻松系列APP暂只支持iOS系统.也就是说只有iPhone用户才能使用! ...

最新文章

  1. 《C++应用程序性能优化::第五章动态内存管理》学习和理解
  2. 动态代理机制之查看一个类或接口中有哪些方法
  3. Android开发中完全退出程序的三种方法
  4. OpenGL之深入解析渲染架构和数据传递
  5. react获取state的值并更新使用
  6. P3805 【模板】manacher算法
  7. mpu 配置内存空间_PCIE的内存地址空间、I/O地址空间和配置地址空间
  8. Java高级工程师必看系列,从基础到源码统统帮你搞定
  9. linux 系统tty、pty和pts 的概念及区别(转)
  10. java jdbc sql 参数_java – Postgresql JDBC表值参数
  11. CentOS 6.5上安装Python 2.7.9
  12. 整型索引查询mysql是不是快点_图解Mysql索引的数据结构!看不懂你来找我
  13. Vibe算法原理与实践(C++)
  14. SQL2005安装出错
  15. 高维球体的体积是多少
  16. 2017第九届广州国际园林机械与园艺工具展会刊(参展商名录)
  17. cdr CorelDRAW Graphics Suite 2021 (v23.1.0)
  18. vijos 1282128312841285 佳佳的魔法照片/魔法药水/魔杖/魔法阵
  19. Python转换表情符号 emoji
  20. JIURL键盘驱动 3

热门文章

  1. 计算机二级python看什么书好_2021年全国计算机二级Python备考指导
  2. aSRVCC信令流程(振铃中SRVCC)
  3. 剑网3服务器延迟高,关于《剑网3》网络延迟的一些理论分析
  4. 养一套美国房子有多贵
  5. vue修饰符——.lazy
  6. P3840蜗牛一期--虚拟局域网VLAN
  7. python模拟生成微软序列号,python生成随机序列号
  8. H264和MPEG4区别
  9. 一步到位Composer直接打开SOLIDWORKS贴图
  10. jboss启动oracle表不存在,JBoss的部署及运行