循环工作不正常
For loop not working correctly
我需要for循环在程序中执行4次,然后在第四次退出并给出结果的总和。
它不应该将X视为破坏投票
三个总数和被破坏的票数被初始化为0。
下面是一个for循环,从1到投票站的数量。
这个循环中有一个while循环。屏幕上会出现一条提示信息,询问选民他或她想投票给哪个候选人。然后输入投票者的选择。
while循环中有一个switch语句,用于增加正确的总数。默认值选项用于计算损坏的票数。
当为选项输入X时,while循环将退出。
退出for循环时,将显示三个总数和损坏的票数。
这是我的代码
int main()
{
const int NR_VOTING_STATIONS = 4;
int votesForA, votesForB, votesForC, spoiltVotes;
char vote;
// initialise totals
votesForA = 0;
votesForB = 0;
votesForC = 0;
spoiltVotes = 0;
// LOOP of INTEREST START
//loop over the voting stations
for ( int i = 1; i <= NR_VOTING_STATIONS; i++)
{
//loop over voters
while (vote != 'X')
{
cout << "Vote for candidate A, B or C : " << endl;
cin >> vote;
switch(vote)
{
case 'A':
votesForA++;
break;
case 'B':
votesForB++;
break;
case 'C':
votesForC++;
break;
default:
spoiltVotes++;
}
}
}
// LOOP of INTEREST END
//display results
cout << endl << endl;
cout << "Total candidate A : " << votesForA << endl;
cout << "Total candidate B : " << votesForB << endl;
cout << "Total candidate C : " << votesForC << endl;
cout << "Total spoilt votes: " << spoiltVotes << endl;
system("pause");
return 0;
}
感谢
只需添加switch
:
case 'X':
break;
因为while条件直到下一轮才会执行。
如果问题是
它不应该将X视为破坏投票
答案是添加一个案例:
case 'X':
break;
此外,请小心首先初始化投票,或者使用do{}while()而不是while{}
如果你需要for循环执行四次,为什么不把它放在另一个for循环中呢?
在while循环中,您应该检查该轮询站中的Voters是否仍然可用。由于您在输入"X"处为中性,因此应将其添加为开关中的一种情况。
你的新while循环应该看起来像:
Voters_Still_Present = 1;
while (Voters_Still_Present)
{
cout << "Vote for candidate A, B or C : " << endl;
cin >> vote;
switch(vote)
{
case 'A':
votesForA++;
break;
case 'B':
votesForB++;
break;
case 'C':
votesForC++;
break;
case 'X':
//do nothing
break;
default:
spoiltVotes++;
}
/* Here, find out if voters are still available in the present station.
If yes, Voters_Still_Present = 1; else Voters_Still_Present = 0;
*/
}
相关文章:
- 不确定要在我的main中放入什么才能使我的代码正常工作
- C++中的memset函数工作不正常
- 为什么 HeapFree() 不能正常工作?
- 如果不在窗口 10 中声明名为 openCV 的 openCV namedWindow,QT 图像显示将无法正常工作
- 通用线程池类工作不正常
- 循环仅对第一行正常工作.其他行不受 for 的影响
- 为什么在C++中使用关系运算符创建的模板函数不能对字符串正常工作?
- C++自定义删除运算符不能正常工作?
- 为什么使用 exec() 重新启动程序不能正常工作?
- C++:返回本地对象,但不能正常工作
- 名为DLL的C++windows服务程序工作不正常
- C++-循环中的If语句工作不正常
- 为什么带lcov的codecov在Travis上不能正常工作,而在我当地的Linux Mint上却不能正常工作
- While循环和if/else语句工作不正常
- 为什么sizeof函数在这里不能正常工作
- 异步操作的 Asio 处理程序在其同步对应项正常工作时不会调用
- C++:最大数组值函数工作不正常
- 图像上的按钮不正常工作在QT
- 透明SDL2游戏(WIN32色键不正常工作)
- Qt 5.3 QSystemTrayIcon不正常工作[Linux]