注册 登录
编程论坛 C++教室

求高手指点一个c++ 问题

HY枯叶 发布于 2010-12-15 23:55, 667 次点击
统计元音字母出现的次数
#include<iostream>
using namespace std;

int main()
{
    char ch;
    int aCnt = 0, eCnt = 0, iCnt = 0,
        oCnt = 0, uCnt = 0;

    while(cin >> ch){
        switch(ch){
        case 'A':
        case 'a':
            ++aCnt;
            break;
        case 'E':
        case 'e':
            ++eCnt;
            break;
        case 'I':
        case 'i':
            ++iCnt;
            break;
        case 'O':
        case 'o':
            ++oCnt;
            break;
        case 'U':
        case 'u':
            ++uCnt;
            break;
        }
    }
    cout << "Number of vowel a: \t" << aCnt << '\n'
         << "number of vowel e: \t" << eCnt << '\n'
         << "Number of vowel i: \t" << iCnt << '\n'
         << "Number of vowel o: \t" << oCnt << '\n'
         << "Number of vowel u: \t" << uCnt << endl;

    return 0;
}

如何跳出while循环并执行后面的语句,我已经试过按ctrl+z 但是还是不行 ,请高手指点
7 回复
#2
cnfarer2010-12-16 08:13
输入Ctrl+Z后输一次回车
#3
肖付2010-12-16 09:34
回复 2楼 cnfarer
不行啊 ,我按了Ctrl+z 后再输入回车,还是不行。而且输入Ctrl+z的时候会显示~Z,怎么回事。
#4
kittel2010-12-16 12:18
回复 楼主 HY枯叶
程序代码:
#include<iostream>
using namespace std;

int main()
{
    char ch;
    int aCnt = 0, eCnt = 0, iCnt = 0,
        oCnt = 0, uCnt = 0;

    while(cin >> ch){
        if(ch=='0') break;//加个条件,退出
        switch(ch){
        case 'A':
        case 'a':
            ++aCnt;
            break;
        case 'E':
        case 'e':
            ++eCnt;
            break;
        case 'I':
        case 'i':
            ++iCnt;
            break;
        case 'O':
        case 'o':
            ++oCnt;
            break;
        case 'U':
        case 'u':
            ++uCnt;
            break;
        }
    }
    cout << "Number of vowel a: \t" << aCnt << '\n'
         << "number of vowel e: \t" << eCnt << '\n'
         << "Number of vowel i: \t" << iCnt << '\n'
         << "Number of vowel o: \t" << oCnt << '\n'
         << "Number of vowel u: \t" << uCnt << endl;

    return 0;
}
#5
xishui7772010-12-16 12:30
对,加个条件
#6
懂也不懂2010-12-16 12:55
while(cin >> ch && ch!='0') 也行的!,想退出循环,就给他加一个条件,很简单的嘛!
#7
HY枯叶2010-12-16 18:45
回复 2楼 cnfarer
我试了好几次,都不行
#8
cs_xm2010-12-23 15:35
连续输入两次Ctrl+Z后输一次回车即可!
1