我是初学者,我从一本书中复制了这段代码,但是它不起作用,因为当我输入EOF时,程序而不是退出while循环会打印两次默认消息.这就像一个小时,我寻找一个解决方案,但我尝试过的任何工作,谢谢你的帮助.该计划应该计算每种等级的数量.
#include "stdafx.h"
#include <iomanip>
#include <iostream>
#include <math.h>
#include <ctype.h>
using namespace std;
int main()
{
int grade,
aCount = 0,
bCount = 0,
cCount = 0,
dCount = 0,
fCount = 0;
cout << "Enter the letter grades (EOF to quit) ->>";
while ((grade = cin.get()) != 'EOF') {
switch (grade) {
case 'A':
++aCount;
break;
case 'B':
++bCount;
break;
case 'C':
++cCount;
break;
case 'D':
++dCount;
break;
case 'F':
++fCount;
break;
case '\n':
case '\t':
case ' …Run Code Online (Sandbox Code Playgroud)