【发布时间】:2016-07-07 07:58:40
【问题描述】:
问题: 假设必须从三位候选人中选出一位新的市议会成员,并假设有 4 个投票站。我们需要一个 C++ 程序来计算每个候选人的选票并显示结果。在每个投票站,选民通过在选票上选择 A、B 或 C 进行投票。投票官员必须将选票输入程序,以便计票。输入特定投票站的所有选票后输入 X。
-使用for循环从1到投票站的数量。
-在for循环内部是一个while循环,提示用户他们想投票给谁。
-while 循环内部是一个 switch 语句,用于增加总数并默认计算被破坏的票数。
-theher循环被退出时x选择x选择。
-当退出for循环时,显示三个总数和弃票数。
#include <iostream>
using namespace std;
int main()
{
const int VOTING_STATIONS = 4;
int votesForA = 0, votesForB = 0, votesForC = 0, spoiltVotes = 0;
char vote;
int numVotes;
for (int i = 0; i <= VOTING_STATIONS; i++)
{
numVotes = 0;
while (vote != 'X')
{
cout << "Which candidate do you want to choose?:" << endl;
cin >>vote;
switch(vote)
{
case 'A':
votesForA++;
break;
case 'B':
votesForB++;
break;
case 'C':
votesForC++;
break;
case 'X':
break;
default:
spoiltVotes++;
break;
}
}
}
// display results
cout << "Total candidate A: " << votesForA << endl;
cout << "Total candidate B: " << votesForB << endl;
cout << "Total candidate C: " << votesForC << endl;
cout << "Total spoilt votes: " << spoiltVotes << endl;
return 0;
}
最后我完全迷失了这个程序,我不知道该怎么办了。非常感谢任何帮助。
【问题讨论】:
-
您的 switch 语句可能是错误的。
case应该以break;结尾,以防止跌倒 -
“从 1 到投票站数量的 for 循环”在哪里。那些嵌套的
for循环是什么? -
vote首次未初始化。
标签: c++ for-loop while-loop switch-statement nested-loops