在c ++中的字符串中插入字符

时间:2014-10-22 09:14:40

标签: c++ string insert character

我的任务是:::: 删除所有元音, 插入一个字符"。"在每个辅音之后。

所以我制作的程序总是插入"。"在开始......... 帮助我

http://ideone.com/Y8DoXt

#include <iostream>
#include <string>
using namespace std;
bool isVowel(char ch);

int main()
{
    string orwr;
    int j = 0;
    getline(cin, orwr);
    for (j=0; j<6; j++)
    {
     if(isVowel(orwr[j])==1)
       {orwr.erase(j, 1);j--;}
     else
       {orwr.insert(j, 1, '.');j++;}
    }
cout<<orwr;
return 0;
}


bool isVowel(char ch)
{
    switch(ch)
    {case 'a':
    case 'A':
    case 'e':
    case 'E':
    case 'i':
    case 'I':
    case 'o':
    case 'O':
    case 'u':
    case 'U':
        return true;
    default:
        return false;}}

2 个答案:

答案 0 :(得分:2)

你的循环应该是:

    for (j=0; j<orwr.length(); j++)

而不是:

    for (j=0; j<6; j++)

答案 1 :(得分:1)

此外,我会反转循环,所以你不必调整任何indizes:

for(int j = orwr.length()-1; j >= 0; --j) {
    if(isVowel(orwr[j]))
        orwr.erase(j, 1);
    else
        orwr.insert(j, 1, '.');
}