答案:程序从words.txt读取单词,用户输入中文意思答题,系统自动评分并保存结果到result.txt。

做一个C++单词测试程序,核心功能包括从文件读取单词、用户答题、自动评分并将结果写入文件,整个流程可以拆解为几个关键部分来实现。下面是一个结构清晰、功能完整的示例程序,包含文件读写和评分功能。
1. 准备单词文件(words.txt)
首先创建一个文本文件 words.txt,每行包含一个英文单词和其中文意思,用逗号分隔:
hello,你好world,世界computer,计算机program,程序function,函数
2. 程序功能说明
程序会:
立即学习“C++免费学习笔记(深入)”;
从 words.txt 读取单词对随机打乱顺序,显示英文,让用户输入中文意思自动判断对错并统计得分将测试结果(用户名、得分、总题数)写入 result.txt
3. 完整C++代码实现
以下是可运行的C++代码:
#include #include #include #include #include #include #include using namespace std;struct Word {string english;string chinese;};
// 从文件加载单词vector loadWords(const string& filename) {vector words;ifstream file(filename);if (!file.is_open()) {cout << "无法打开文件: " << filename << endl;return words;}
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
int main() {vector words = loadWords("words.txt");if (words.empty()) {cout
// 打乱单词顺序srand(time(0));random_shuffle(words.begin(), words.end());string name;cout << "请输入你的名字: ";getline(cin, name);int score = 0;cout << "n开始测试!输入 'quit' 可提前退出。nn";for (const auto& word : words) { string answer; cout << "单词 '" << word.english << "' 的中文意思是? "; getline(cin, answer); if (answer == "quit") break; if (answer == word.chinese) { cout << "✔ 正确!nn"; score++; } else { cout << "✘ 错误,正确答案是:'" << word.chinese << "'nn"; }}// 显示得分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++单词测试程序 文件读写评分功能的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1472992.html
微信扫一扫
支付宝扫一扫