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

做一个C++单词测试程序,核心功能包括从文件读取单词、用户答题、自动评分并将结果写入文件,整个流程可以拆解为几个关键部分来实现。下面是一个结构清晰、功能完整的示例程序,包含文件读写和评分功能。
首先创建一个文本文件 words.txt,每行包含一个英文单词和其中文意思,用逗号分隔:
hello,你好 world,世界 computer,计算机 program,程序 function,函数
程序会:
立即学习“C++免费学习笔记(深入)”;
以下是可运行的C++代码:
#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;}
测试完成后,result.txt 中会追加类似内容:
小明,4/5,正确率:80% Alice,5/5,正确率:100%
基本上就这些。这个程序结构清晰,适合学习C++的文件操作、结构体、STL容器和字符串处理。只要确保 words.txt 和可执行文件在同一目录,就能正常运行。
以上就是C++单词测试程序 文件读写评分功能的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号