我有 4 天的 C++ 培训,所以请耐心等待。
评估多项选择考试需要两个数据文件。第一个文件 (booklet.dat) 包含正确答案。问题总数为 50。示例文件如下:
ACBAADDBCBDDAACDBACCABDCABCCBDDABCACABABABCBDBAABD
第二个文件 (answer.dat) 包含学生的答案。每行都有一个学生记录,其中包含以下信息:
学生的答案(共 50 个答案)格式同上(* 表示没有答案),后跟学生 ID 和学生姓名。例子:
AACCBDBC*DBCBDAAABDBCBDBAA*BCBDD*BABDBCDAABDCBDBDA 6555 MAHMUT
CBBDBC*BDBDBDBABABABBBBBABBABBBBD*BBBCBBDBABBBDC** 6448 SINAN
ACB*ADDBCBDDAACDBACCABDCABCCBDDABCACABABABCBDBAABD 6559 CAGIL
我有一个家庭作业要编写一个 C++ 程序,该程序计算每个学生正确答案的总数,并将此信息输出到另一个名为 report.dat 的文件中。在此文件中,必须提供学生的 ID、姓名和分数。每个正确答案得 1 分。对于上面给出的示例文件,输出应如下所示:
6555 MAHMUT 10
6448 SINAN 12
6550 CAGIL 49
这是我到目前为止所拥有的:
include <iostream>
include <fstream>
using namespace std;
int main()
{
char booklet[50] answers[50]
int counter
// Link answers with booklet.dat
booklet = ifstream
input_file("booklet.dat");
return 0;
// Link answers with answers.dat
answers = ifstream
input_file("answer.dat");
return 0;
while (booklet==answers)
{
counter++
cout << "The student had">>counter>> "answers right";
}
}
我什至不确定我的方向是否正确。我知道我需要从文件 booklet.dat 中创建一个数组,并从文件 answer.dat 中创建另一个数组。然后必须进行比较,并且必须计算两者之间的匹配。
我不指望任何人为我做任务,我只需要朝着正确的方向轻推。