• c++练手项目:英语单词拼写测试程序


    代码比较简单。基本的思路是从文本文件中按行读取数据,数据结构为“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++输出中文乱码解决方案

  • 相关阅读:
    SAP BI 常用TCODE
    ABAP Table Control
    Smartforms 设置纸张打印格式
    SAP库存历史库存表更新逻辑 (转)
    ABAP 调用远程rfc
    php 随机生成数字字母组合
    php错误提示 open_basedir restriction in effect 解决
    MySQL Errno : 1062 错误修复
    mysql数据库允许远程连接
    httpd.conf文件与.htaccess文件的对比
  • 原文地址:https://www.cnblogs.com/roadwide/p/10543300.html
Copyright © 2020-2023  润新知