目录

设计背景

设计思路

准备工作

库函数的使用

存储结构

函数的使用

背景的调试

语文检测系统

数学检测系统

英语检测系统


设计背景

为了巩固小学一年级外甥女的学习, 寒假期间要每天给外甥女出数学题、提英语句子与英语单词、随机抽查语文生字进行组词与默写。前几天外甥女问我给她准备了什么新年礼物,我就想到了这个学习检测系统。解放家长的双手,你,值得拥有。

设计思路

本系统设计主要分为三大块:语文,数学,英语 

准备工作

库函数的使用

#include <iostream>//c ++ 必备
#include <fstream> //文件流函数
#include <windows.h>//提供清屏,字体与背景颜色支持,延迟运行代码
#include <stdlib.h>//随机数函数
#include <algorithm>//算法库函数,结合vector动态数组使用
#include <time.h>//提供随机数时间种子
#include <vector>//动态数组

存储结构

bool vis_English_sentence[100010];//标记英语句子
bool vis_English_word[100010];//标记英语单词
bool vis_Chinese_item[100010]; //标记语文生字
vector<string> English_sentence;//存储英语句子
vector<string> English_word;//存储英语单词
vector<string> Chinese_item;//存储语文生字
vector<string> Chinese_word;//存储语文组词

函数的使用

system("cls");//清空程序框内容
fstream infile;//定义文件流
infile.eof();//判断文件读取是否到末尾
infile >> s;//读取文件中的一个字符串
getline(infile,s);//读取文件中的一整行
infile.close()//关闭文件流
vector<Typename> name;//定义动态数组
name.push_back(t);//于动态数组尾部插入t
name.pop_back();//删除动态数组中的最后一个元素
sort(name.begin(),name.end());//对于动态数组进行排序
name.erase(unique(name.begin(),name.end()),name.end());//对于动态数组内的元素进行去重
srand((unsigned)time(NULL));//设置随机数种子
rand() % m;//随机[0,m)之间的数字
string类的find函数//用于查找字符串中是否含有某个字串

背景的调试

使用比较护眼的黄底黑体字,保护孩子的眼睛

语文检测系统

语文检测系统是随机从题库当中抽取生字,让孩子去读写,并用这个生字组三个以上的词。数据分别要用两个文件,一个存储所有的生字,一个存储所有的组词。在检测过程当中,可以指定抽查的生字个数,让孩子组词,若是组词数未达到标准,则从库中查找含有该字的词语进行答案展示,从而让孩子去加深记忆。

题库的抽取取决于选择的范围,可以只从一年级上学期学过的生字中抽,也可以从一年级到三年级所有学过的生字中抽,全靠用户自己选择。

生字的抽取是根据随机数的原理,随机出一个生字数组中的下标,为了避免出现随机下标重复的情况,设置vis_Chinese_item布尔数组来对于已经出现过生字进行标记,而后在随机枚举的过程中将自动跳过已经标记过的生字下标。

生字的组词则是对于词组库进行遍历,相当于在主串当中查字串的过程,若找到则输出即可

数学检测系统

数学检测系统是根据用户的指定范围,随机生成含有加减法的算式,从而让孩子练习用。在随机的过程之中,注意不能出现0这种无意义的数字,且不能够在顺序进行中的任意一步出现负数,并且最终得到的结果一定要在指定范围内

为了实现对于数的枚举,可对rand函数进行如下操作:

假设想要得到的是R以内的加减法,而rand() % R只能对于区间[0,R)进行枚举,因此第一步将其变为rand() % (R + 1)使得枚举区间扩大至[0,R],第二步将其变为rand() % (2 * R + 1),将枚举区间调整为[0,2R],第三步将其变为rand() % (2 * R + 1) - R,枚举区间调整为[-R,R]

英语检测系统

英语检测系统包含对于英语单词的认读和对于英语句子的认读,家长选择所要检测的范围之后,相应范围的数据会被导入基础库,而后即可根据基础库中的内容随机抽取想要的数目进行英语检测

英语句子

英语单词

总结

后续的数学测试会添加乘法和除法,以及分数的四则运算

关于外甥女的新年礼物相关推荐

  1. 给AI开发者的新年礼物,技术公开课大放送(附演讲PPT)

    各位AI科技大本营的伙伴大家好,营长携编辑组的全体成员给大家拜年了! 新年新思!新一年,每个人的梦想都闪耀着多彩光芒,对于AI领域的每一位学习者和从业者,我们充满渴望,怀揣梦想,心系对技术的不懈追求. ...

  2. 365个机器学习概念,“耐撕”的AI日历限量预售 | 新年礼物嗷~

    圣诞节到了,新的一年就不远了. 2018年新年立下的flag实现了吗?开始学习一门语言?跑一次马拉松?又或者,入门机器学习? 如果你的新年愿望是离AI更近一点,那么,我们为你准备的这套新年礼物--AI ...

  3. 216位攻城狮送给程序猿的10个新年礼物

    新的一年来临啦 又到了美好的互送礼物(吃土)的季节~ 如果你的男神是程序猿 如何能让他在代码丛中多看你一眼? 如果你就是程序猿 是不是经常烦恼朋友送的礼物像bug? 现隆重推出 网易云信216位攻城狮 ...

  4. 感谢CSDN赠送的2021年新年礼物

    CSDN赠送的新年礼物:一本2021年台历.台历的每一页,都是历史上的当天曾经发生的和计算机相关的大事.引用台历中扉页的一句话,献给所有的程序员: "谨以此书,献给每一个程序员,你的每一次 ...

  5. 快来看看你们的新年礼物,猜猜是什么?

    春 节 总把新桃换旧符 千门万户曈曈日 春风送暖入屠苏 爆竹声中一岁除 新 年 礼 物 前 言 各位同学们,新春快乐哇,利用假期的时间,花费5天左右的时间,为大家每个人准备了一份神秘的新年礼物,想不想 ...

  6. 《阿里巴巴Android开发手册》正式发布,献给移动开发者的新年礼物

    春节余味尚未消,我们为移动开发者准备了一份迟到的新年礼物--<阿里巴巴Android开发手册>,继<阿里巴巴Java开发手册>之后,阿里巴巴开发规范家族又添一丁,「阿里巴巴An ...

  7. 新年礼物 总算有服务器了

    新年礼物, 一波三折啊,为毛电信登录Amazon是如此之慢.慢到等刷新出页面,我想要的鞋子颜色就没了,被人买走了.退而求其次,另外一种颜色,要贵10刀,不爽.买了个钱包,嗯,不是Amazon自营的,运 ...

  8. vivo硬件测试员干什么的_vivo的新年礼物:用APEX 2019告诉你5G旗舰机该长啥样

    1月24日下午,vivo在北京召开媒体沟通会,正式发布了vivo APEX 2019.这是一款概念机,并不会量产,它发布的意义是展示vivo最新的技术成果,同时宣告vivo 2019年新机的设计方向. ...

  9. html新年礼物,特别的新年礼物 特殊的新年礼物

    你是否有喜欢的人,你知道TA喜欢什么吗?特别的人就要送特别的礼物,如果是送给女朋友特别的新年礼物,可以参考以下的推荐,一起来看看特殊的新年礼物有哪些. 特别的新年礼物一:同一色系物品大合集 如果你的女 ...

最新文章

  1. VMware-使用VMware在本地搭建多个CentOS虚机
  2. python 遍历_python中使用iterrows()对dataframe进行遍历的示例
  3. 【数学基础】拉格朗日乘子法
  4. 删除超过10亿用户的数据,Facebook 关闭面部识别系统
  5. 谢宝友:会说话的Linux内核
  6. 解决 Chrome 请停用以开发者模式运行的扩展程序
  7. 清理git本地帐户信息
  8. B站压片 码率标准 和 码率变化 记录
  9. UML活动图案例-业务流程建模
  10. 计算机关机后风扇还转,电脑关机后cpu风扇还在转怎么办?解决电脑关机后cpu散热器还在转...
  11. Android SDK是什么
  12. ids for this class must be manually assigned before calling save()报错解决方法
  13. 百度地图、高德地图、腾讯地图比较
  14. VuePress构建一个文档管理网站
  15. mongodb journal文件格式(不错)
  16. Android开发:调用系统图库选择图片
  17. 在BCB中使用DirectX
  18. LeetCode练习题C#源码
  19. mysql 高可用架构 mha 之五 Undefined subroutine main::FIXME_xxx called at power_manage
  20. 这次不一样:八百年金融危机史(珍藏版)

热门文章

  1. 前端项目:使用handsontable画一个表格
  2. vsan虚拟化和共享存储服务器,恰逢其时:当VSAN遇到浪潮云海桌面一体机
  3. Linux防火墙配置
  4. 动态代理模式的相关细节描述
  5. 生产-消费模型之阻塞队列的源码分析
  6. glade 使用指南(2)
  7. 三步制作一张业务数据地图
  8. Java后端通过代理服务器请求网络资源
  9. acl 影响因子_计算机系部分会议级别和影响因子(DB、AI相关方向)
  10. 控制微信小程序web view的返回按钮