C++-使用数组
C++ - Working with Arrays
机动车辆管理局要求您编写一个程序对驾驶执照考试的书面部分进行评分。考试a 20道选择题,其中包含问题1…20的答案分别如下表所示;
A B D A B B B C C D A C C C D A B D D B
假设每天共有10名学生参加考试。您的程序应将上面显示的正确答案存储在数组中。然后,它应该询问每个学生对20个问题的答案答案应该存储在另一个数组中。答案之后输入时,程序应显示一条消息,指示学生考试及格或不及格。(学生必须正确回答18通过考试的20个问题中的一个)。然后它应该显示正确回答的问题总数和每个学生答错了问题。你的程序应该还显示在给定的白天
#include <iostream>
using namespace std;
int main()
{
// Declare variables and constants
int correctAnswers = 0;
const int QUESTIONS = 20;
char answers[QUESTIONS] = {'A', 'B', 'D', 'A', 'B', 'B', 'B', 'C', 'C', 'D', 'A', 'C', 'C', 'C', 'D', 'A', 'B', 'D', 'D', 'B'};
for(int count = 0; count < QUESTIONS; count++)
{
cout << "Please enter your answer for Question " << (count + 1) << endl;
cin >> answers;
}
if(answers[0] == 'A')
{
correctAnswers++;
}
else if(answers[1] = 'B')
{
correctAnswers++;
}
return 0;
}
因此,我已经开始为上面列出的问题语句编写这段代码。这就是我到目前为止所拥有的。我开始为每个答案做if语句,如果他们输入了正确的答案,结果会在计数器中加1。我的问题是,有没有更好的方法让用户得到答案并检查他们是否正确,或者我现在所做的是最好的方法?
在规范中,必须将正确答案的列表存储在数组中。每个学生的答案必须保存在数组中。在得到学生的答案后,你可以对答案进行迭代,并将其与预期答案进行比较。
char correct_answers[QUESTIONS] = {'A', 'B', 'D','A','B', 'B','B','C','C', 'D','A','C' ,'C' , 'C' ,'D' ,'A' ,'B','D', 'D', 'B'};
char answers[QUESTIONS];
for(int count = 0; count < QUESTIONS; count++) {
cout << "Please enter your answer for Question " << (count + 1) << endl;
cin >> (answers+count);
}
for(int count = 0; count < QUESTIONS; count++) {
if(answers[count] == correct_answers[count]) {
correctAnswers++;
}
}
让我们看看。。你想记住其他东西,而不是答案,因为你会覆盖你设置的答案密钥!
当你看的时候,你会检查答案[count]==来自cin的inputValue。
基本上。。一些伪代码。。
char inputValue;
loop ..
cin << inputValue;
answers[count] == inputValue ...
Then ++correctAnswer ...
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '