首页 > 后端开发 > C++ > 正文

C++单词测试程序 文件读写评分功能

P粉602998670
发布: 2025-08-26 12:15:01
原创
321人浏览过
答案:程序从words.txt读取单词,用户输入中文意思答题,系统自动评分并保存结果到result.txt。

c++单词测试程序 文件读写评分功能

做一个C++单词测试程序,核心功能包括从文件读取单词、用户答题、自动评分并将结果写入文件,整个流程可以拆解为几个关键部分来实现。下面是一个结构清晰、功能完整的示例程序,包含文件读写和评分功能。

1. 准备单词文件(words.txt)

首先创建一个文本文件 words.txt,每行包含一个英文单词和其中文意思,用逗号分隔:

hello,你好
world,世界
computer,计算机
program,程序
function,函数
登录后复制

2. 程序功能说明

程序会:

立即学习C++免费学习笔记(深入)”;

  • words.txt 读取单词对
  • 随机打乱顺序,显示英文,让用户输入中文意思
  • 自动判断对错并统计得分
  • 将测试结果(用户名、得分、总题数)写入 result.txt

3. 完整C++代码实现

以下是可运行的C++代码:

AGI-Eval评测社区
AGI-Eval评测社区

AI大模型评测社区

AGI-Eval评测社区 63
查看详情 AGI-Eval评测社区
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
#include <algorithm>
#include <ctime>
using namespace std;
<p>struct Word {
string english;
string chinese;
};</p><p>// 从文件加载单词
vector<Word> loadWords(const string& filename) {
vector<Word> words;
ifstream file(filename);
if (!file.is_open()) {
cout << "无法打开文件: " << filename << endl;
return words;
}</p><pre class='brush:php;toolbar:false;'>string line;
while (getline(file, line)) {
    stringstream ss(line);
    string en, cn;
    getline(ss, en, ',');
    getline(ss, cn);
    if (!en.empty() && !cn.empty()) {
        words.push_back({en, cn});
    }
}
file.close();
return words;
登录后复制

}

// 保存测试结果到文件 void saveResult(const string& name, int score, int total) { ofstream file("result.txt", ios::app); if (file.is_open()) { file << name << "," << score << "/" << total << ",正确率:" << (total ? (score * 100.0 / total) : 0.0) << "%" << endl; file.close(); cout << "成绩已保存!\n"; } else { cout << "无法保存成绩。\n"; } }

int main() { vector<Word> words = loadWords("words.txt"); if (words.empty()) { cout << "没有加载到单词,请检查 words.txt 文件。\n"; return 1; }

// 打乱单词顺序
srand(time(0));
random_shuffle(words.begin(), words.end());

string name;
cout << "请输入你的名字: ";
getline(cin, name);

int score = 0;
cout << "\n开始测试!输入 'quit' 可提前退出。\n\n";

for (const auto& word : words) {
    string answer;
    cout << "单词 '" << word.english << "' 的中文意思是? ";
    getline(cin, answer);

    if (answer == "quit") break;

    if (answer == word.chinese) {
        cout << "✔ 正确!\n\n";
        score++;
    } else {
        cout << "✘ 错误,正确答案是:'" << word.chinese << "'\n\n";
    }
}

// 显示得分
cout << "测试结束!你答对了 " << score << " / " << words.size() << " 题。\n";

// 保存结果
saveResult(name, score, words.size());

return 0;
登录后复制

}

4. 运行效果示例

测试完成后,result.txt 中会追加类似内容:

小明,4/5,正确率:80%
Alice,5/5,正确率:100%
登录后复制

5. 可扩展功能建议

  • 增加选择题模式(A/B/C/D)
  • 支持多次测试后统计平均分
  • 读取 result.txt 显示历史成绩
  • 加入计时功能,记录答题用时
  • 支持中文→英文反向测试

基本上就这些。这个程序结构清晰,适合学习C++的文件操作、结构体、STL容器和字符串处理。只要确保 words.txt 和可执行文件在同一目录,就能正常运行。

以上就是C++单词测试程序 文件读写评分功能的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号