运行这个程序时,在同目录下新建一个名为123.txt的文本,并将depend on your background are two table containing problem the digit must be separated into groups of three by commas so if you are new to then you may prefer start with get feel for the different type difficult of our problem复制到123.txt文本中,在程序结束时,可以打开生词本.txt,和历史测试结果.txt。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
int main()
{system("title 背单词软件");system("color f0");system("date /T");system("TIME /T");printf("\n\n\n\n\n\n");printf("\t\t\t\t\t~*********  25.背单词软件  **********~\n");printf("\n\n\n\n");printf("\t\t\t\t\t~****  制作者: Keven 2018年3月  *****~\n");printf("\n\n\n\n");printf("\t\t\t\t\t~********  按任意键进入程序  ********~\n");printf("\n\n\n\n\n\n\n");system("pause");system("CLS");srand(time(NULL));FILE *fp; int count=0,n,suiji,x=0,a[5],hao;char sum[100000][20],word[5][20],Word[20],minling[100];memset(sum,0,sizeof(sum));memset(minling,0,sizeof(minling));//从文件读入fp=fopen("123.txt","r");//只读while (fscanf(fp,"%s",Word)==1)strcpy(sum[count++],Word);while (1){x=0;memset(word,0,sizeof(word));memset(a,0,sizeof(a));for (int i=0;i<5;i++){suiji=rand()%count;for (int j=0;j<x;j++){if (a[j]==suiji){i--;goto a;}}a[x++]=suiji;strcpy(word[i],sum[suiji]);a:;}printf("请记忆下面的单词:\n");for (int i=0;i<x;i++)printf("%d %s\n",i+1,word[i]);printf("----------菜单-----------\n"); printf("输入1将上述某个单词加入到生词本中\n输入2再记忆5个单词\n输入3查看生词本\n输入4清空生词本\n输入0结束记忆\n");printf("-------------------------\n请输入指令:"); c:;//此处用char类型数组,便于判断命令是否正确 scanf("%s",minling);if (strlen(minling)>1){printf("命令错误,请重新输入命令:");goto c;}if (strlen(minling)==1){if (minling[0]!='0'&&minling[0]!='1'&&minling[0]!='2'&&minling[0]!='3'&&minling[0]!='4'){printf("命令错误,请重新输入命令:");goto c;}}if (minling[0]=='1'){d:;printf("(输入0返回上一步)请输入需要加入生词本单词的序号:"); scanf("%d",&hao);if (hao==0){system("CLS");continue;}//回到生词本.txt头部 fp=fopen("生词本.txt","r");//只读 while (fscanf(fp,"%s",Word)==1){if (strcmp(Word,word[hao-1])==0){printf("该单词之前已经存入生词本\n\n");goto b; }}printf("该单词已存入生词本\n\n");fp=fopen("生词本.txt","a+");//修改 fprintf(fp," %s",word[hao-1]);fclose(fp);//每次以a+方式打开,需要关闭文件便于下次重新读取 b:;goto d; }else if (minling[0]=='2')system("CLS");else if (minling[0]=='3'){system("CLS");printf("您的生词本如下:\n"); //回到生词本.txt头部 fp=fopen("生词本.txt","r");//只读//输出生词本 while (fscanf(fp,"%s",Word)==1)puts(Word);printf("\n"); continue;}else if (minling[0]=='4'){fp=fopen("生词本.txt","w+");system("CLS");printf("生词本已清空\n\n"); }else if (minling[0]=='0')break;}system("CLS");printf("您的生词本如下:\n\n"); //回到生词本.txt头部 fp=fopen("生词本.txt","r");//只读 //输出生词本while (fscanf(fp,"%s",Word)==1)puts(Word);printf("\n"); printf("下面您将进行一个生词测验\n\n"); system("PAUSE");system("CLS");//OJ系统 char ch;//输入 count=0;//统计生词本中单词个数 int trues=0,flag;//统计正确数 //回到生词本.txt头部 fp=fopen("生词本.txt","r");//只读while (fscanf(fp,"%s",Word)==1){flag=1;e:;suiji=rand()%strlen(Word); for (int i=0;i<strlen(Word);i++){if (i!=suiji)printf("%c",Word[i]);elseprintf("_");}printf("请输入单词中缺少的字母:");getchar();//为什么要getchar()?????scanf("%c",&ch);printf("%c",ch);if (ch==Word[suiji])printf("答对了!\n");else{printf("答错了!\n再试试看\n");flag=0;goto e; }if (flag==1)//为避免重复计数,引入flag判断 trues++;count++; }printf("\n通过对生词本中单词的测试,您的正确率为%.2lf%%\n",trues*1.0/count*100); printf("\n----------感谢使用本程序,欢迎下次使用----------\n");//将测试时间,日期和数据存入促使结果,txt,并在结束时打开两个txt文本 system("date /T >> 测试结果.txt");system("TIME /T >> 测试结果.txt");fp=fopen("测试结果.txt","a+");//修改 fprintf(fp,"本次生词本中单词的正确率为%.2lf%%\n\n",trues*1.0/count*100); fclose(fp);//关闭printf("您的生词本已打开\n"); system("生词本.txt");printf("您的测试结果的历史数据已打开\n"); system("测试结果.txt"); system("PAUSE");
}

背单词软件(大一课设作业)相关推荐

  1. C语言实现背单词软件(系统级别)

    目录 一.软件需求说明书 1 引言 2 任务概述 二.可行性研究报告 1 编写目的 2 所建议的系统(技术可行性) 3 使用方面的可行性 4 结论 三.系统设计说明书 1.面向对象设计 1.1前提说明 ...

  2. 大一下学期基于GUI的背单词软件(JAVA版)

    项目名称:背单词软件 完整代码链接:完整代码+txt文件 提取码:i6gd 有注释,看懂没什么问题 问题描述: 用户登录软件后可选择多个功能,最重要的功能:背单词.查单词.修改用户信息. 背单词:点击 ...

  3. 背单词软件-设计与实现

    背单词软件-设计与实现 2014-08-28 源代码下载:Code-ReciteWord.zip 三层结构 数据访问层 业务逻辑层 表现层 数据结构 永久层 业务逻辑层 难点与解决方案 Recite的 ...

  4. 背单词软件 单词风暴 分享id_周一考研高效背单词系列(一):利用单词软件如何背好单词...

    高效背单词 考研单词作为考研路上的第一大难关,相信很多小伙伴都在这上面吃过不少苦,有同学更是看到密密麻麻的大纲词汇就头疼,但只要是学习就是有方法的,今天,我们开始推出高效背单词系列--墨墨背单词. 另 ...

  5. 可以测试成果的背单词软件,实测背单词最好的软件排名,选了4款最管用的单词软件送给你!...

    目前市面上单词软件千千万,哪一款才是我的菜?这个时候通过查看背单词最好的软件排名情况,能让我们快速找到适合自己的背单词软件.每个人基础不一样,比如有的人英语是零基础的,有的人英语是达到四级水平,他们两 ...

  6. 背单词软件速度对比测试,手机背单词大比拼,谁才是速度之王

    啰嗦的话不多说,我只找一些当下比较流行的手机背单词,并且过滤掉不太理想的背单词软件,挑出行内值得大家使用的几款背单词来比拼一下,以我个人的观点是,不管你单词做的界面如何,功能如何,我只看记单词速度和牢 ...

  7. ⚡写一个有发音的背单词软件⚡——四六级必过系列

    四六级必过 ⚡导读 演示 爬虫阶段 GUI阶段 朗读单词阶段 封装阶段 ⚡肥学有话说 ⚡导读 你还在为小小英语而发愁吗?,你还在为备考四六级没有动力而难过吗?那么今天教你写一个背单词软件你不会不想学吧 ...

  8. 英语背单词有用吗_对于大学生英语背单词软件哪个好可以用_最好的背单词

    对于大学生英语背单词软件哪个好可以用_最好的背单词 内容预览 大学背单词软件abundance.mp4 大学背单词软件abuse.mp4 大学背单词软件bum.mp4 大学背单词软件burden.mp ...

  9. 锡育英语背单词软件v2019.04绿色版

    锡育英语背单词软件是一款可以帮助用户记忆单词的软件,是一款很好的英语学习软件,通过多种方式来帮助用户记忆单词,更有真人朗读,ted演讲等真实语境学习,能够有效提高用户英语学习能力. 功能介绍: 1.单 ...

最新文章

  1. 服务器收集错误信息0不动,win10系统提示“我们只收集某些错误信息”的解决方案...
  2. go语言 html 模板语法,go语言快速入门:template模板
  3. eclipse快捷键 包括查找类、方法、变量
  4. spring boot缓存_Spring Boot和缓存抽象
  5. 炎炎夏日需要一个清凉的地 - 自制水冷系统(十一 指尖的思绪之程序篇)
  6. 30-- 返回倒数第 k 个节点
  7. SpringBoot中mybatis配置多数据源
  8. mybatis 带分号批量sql_请查收,32 道 MyBatis 的高频面试题已答完
  9. Python 之 游戏飞机大战项目实现
  10. 图像的常规边缘检测(梯度算子、Roberts算子和Sobel算子)(纯C++)
  11. 中国石油大学(北京)-《 公共社交礼仪 》-答案
  12. 响铃:丁磊造“网易美学”,是社区进化,还是包抄内容创业
  13. DP4398:国产兼容替代CS4398立体声24位/192kHz音频解码芯片
  14. Error while Launching activity
  15. 百趣代谢组学解读-ASD研究
  16. Linux命令行万能解压命令
  17. Opencv学习----Opencv宏定义(CV_8U、CV_8S、CV_16U...)
  18. 肠道核心菌属——Lachnoclostridium
  19. vue 前端表格导入与导出
  20. 【HoloLens2】添加空间音频学习笔记

热门文章

  1. 气质的培养(哈佛管理世界
  2. 贝叶斯统计——贝叶斯方法简述
  3. 荧光法胞内总ROS检测试剂盒解决方案
  4. 相声专场:这届互联网大佬,真不行!
  5. 启功经典作品(兰竹自题)
  6. Kettle 连接失败 Oracle 数据库报 ora-12505 的解决方法
  7. SpringBoot Elasticsearch组合查询封装
  8. ESP-NOW:竟然还有如此好用的无线通信方式 | ESP32轻松学(Arduino版)
  9. python类的使用-汽车租赁系统
  10. python停车场车位短租系统django+vue项目源码介绍