代码比较简单。基本的思路是从文本文件中按行读取数据,数据结构为“hello-你好”。前面是英语,后面是中文,中间用“-”连接。程序通过查找连词符的位置来分割中文和英文。再通过和用户输入的单词进行比较判断是否正确。

期间发现了另一个问题。起初是通过cin来获取用户输入的内容,刚开始看起来可以用。但当我拿课本上的单词开始实战的时候,发现cin没法分割空格(会把空格前后的东西看作是两次输入),也就是说没法测试短语。可以通过getline函数解决。之前学的getline是第一个参数是一个ifstream的读取对象,在这看来第一个参数还可以是用户输入的内容。第二个参数是要赋值的变量。

#include <fstream>//ifstream读文件,ofstream写文件,fstream读写文件
#include <string>//文本对象,储存读取的内容
#include <iostream>//屏幕输出cout,输入cin
#include <cstdlib>//调用system("pause");
#include <windows.h>//用于函数SetConsoleOutputCP(65001);更改cmd编码为utf8
using namespace std;int main()
{SetConsoleOutputCP(65001);ifstream in("1.txt");string line;int mid;string english;string chinese;if(in) // 有该文件
    {while (getline (in, line)) // line中不包括每行的换行符
        {string userinput;mid=line.find("-");english=line.substr(0,mid);chinese=line.substr(mid+1,line.max_size());cout<<"the chinese word is "<<chinese<<endl;getline(cin,userinput);if(english.compare(userinput)==0){cout<<"your input is right"<<endl;}else{cout<<"your input is wrong"<<endl;}}}else // 没有该文件
    {cout <<"no such file" << endl;}system("pause");return 0;}

运行效果:

从最初的想法,到慢慢的每一步每一个函数的学习到实现,终于算是初步完成了。后面可能会继续完善稳定性(其实只要知道源码自己用,根本没什么稳定性问题)。还有想让它更好看一点,目前的想法就是让输出的字体颜色不一样,比如拼写正确就输出绿色字体,错误就输出红色字体。还有就是检测正确率,随机测试,能随时停止测试等等。

参考前面写的文章:

c++实现按行读取文本文件

c++查询特定字符串位置

c++输出中文乱码解决方案

转载于:https://www.cnblogs.com/roadwide/p/10543300.html

c++练手项目:英语单词拼写测试程序相关推荐

  1. 乐优商城练手项目相关技术总结

    FastDFS(分布式文件系统) 为什么要使用FastDFS? 如果说文件上传的服务将资源都存放到本地的话,最终都会受限于磁盘大小.那么当然可以在本地配置多台文件服务器来存放文件,这个时候需要用Ngi ...

  2. TensorFlow练手项目二:基于循环神经网络(RNN)的古诗生成器

    基于循环神经网络(RNN)的古诗生成器 2019.01.02更新: 代码比较老了,当时的开发环境为Python 2.7 + TensorFlow 1.4,现在可能无法直接运行了.如果有兴趣,可以移步我 ...

  3. [C++练手项目] DocAnalysis

    [C++练手项目] DocAnalysis 文章目录 [C++练手项目] DocAnalysis 任务分析 编码 转换DOC文件到TXT 分词 停止词 两文档相同和不同字符数统计 总体实现思路 一.分 ...

  4. 70个Python练手项目列表 预祝大家 快乐

    小孩眺望远方,成人怀念故乡. 为此给大家分享一下珍藏的Python实战项目,祝大家节日快乐哦!!! Python 前言:不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说 ...

  5. 一个适合于Python 初学者的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  6. 推荐 Python 十大经典练手项目,让你的 Python 技能点全亮!

    前言:如果有人问:"Python还火吗?""当然,很火.""哪能火多久呢?""不知道." 技术发展到现在衍生出许多种编程 ...

  7. 别让双手闲下来,来做一些练手项目吧

    作者:Weston,原文链接,原文日期:2016-01-27 译者:saitjr:校对:Cee:定稿:千叶知风 自从我昨天发了文,收到的最多的评论就是: 我应该选择哪些 App 来练手呢? 这个问题很 ...

  8. python项目-推荐 10 个有趣的 Python 练手项目

    想成为一个优秀的Python程序员,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼. 因此,我为大 ...

  9. python新手项目-Python 的练手项目有哪些值得推荐?

    其实初学者大多和题主类似都会经历这样一个阶段,当一门语言基础语法学完,之后刷了不少题,接下来就开始了一段迷茫期,不知道能用已经学到的东西做些什么即便有项目也无从下手,而且不清楚该如何去提高技术水平. ...

  10. python可以做什么项目-适合Python 新手的5大练手项目,你练了么?

    已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...

最新文章

  1. 在main()之前,IAR都做了啥?
  2. 总结一下遇到的各种核函数
  3. 【问链财经-区块链基础知识系列】 第十九课 区块链应用于电子存证
  4. [周译见] C# 7 中的模范和实践
  5. python判断火车票座位_Python抢票程序优化,可以选择车次和座次
  6. python类中的self参数和cls参数
  7. 1 在c语言中不正确的常量是 a0xf6,C语言第三章在线测试题目及答案
  8. Comparable与Comparator对象比较
  9. adobe黑体std能商用_adobe字体版权?
  10. Amplify Shader Editor手册 Unity ASE(中文版)
  11. 密码正确 mysql 无法登录_MySQL密码正确却无法本地登录怎么办
  12. codeforces 794D Labelling Cities
  13. 线性MMSE检波和ZF检波
  14. MAC安装unrar
  15. 读《纳瓦尔宝典》感想
  16. 母亲产前压力、胎儿大脑连接和分娩时的胎龄之间的交互关系
  17. 计算机图形学实验一 《MFC绘图基础》
  18. JavaScript,css时间计时器
  19. 深度学习(二)-----算法岗面试题
  20. 写字机axidraw固件

热门文章

  1. 医疗保险,公积金、养老、生育、工伤、失业保险
  2. 程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理
  3. 微软Windows 8 非常实用的12个技巧
  4. u盘安装linux系统有什么弊端,使用U盘安装Linux系统的经验总结
  5. AI人脸识别测温一体机设计
  6. mac如何打开/bin等目录
  7. 如何缓解眼睛疲劳酸痛?
  8. 数据科学和数学建模_数据建模 数据科学
  9. otsu阈值分割算法原理_OTSU阈值分割
  10. 怎样将linux系统打包成iso文件,封装linux系统成iso文件