在线C ++ Grader语法问题

时间:2016-01-07 07:30:09

标签: c++ syntax syntax-error

我试图在c ++编程网站上使用在线标记。代码在我的电脑上正常运行。但是,该站点反复出现编译错误,吐出这些语法错误:

/data/grader/2/81322/compile/source.cc:在函数 intmain() : /data/grader/2/81322/compile/source.cc:16:错误:在 : 令牌之前的预期初始化程序 /data/grader/2/81322/compile/source.cc:45:错误:在输入结束时预期的primary-expression /data/grader/2/81322/compile/source.cc:45:错误:预期 ; 在输入结束时 /data/grader/2/81322/compile/source.cc:45:错误:在输入结束时预期的primary-expression /data/grader/2/81322/compile/source.cc:45:错误:预期 ) 输入结束 /data/grader/2/81322/compile/source.cc:45:错误:输入结束时的预期语句 /data/grader/2/81322/compile/source.cc:45:错误:预期 } 输入结束 /data/grader/2/81322/compile/source.cc:45:错误:预期 } 在输入结束时

#include <iostream>
#include <string>
using namespace std;

int main()
{
    char vowels[] = { 'a', 'e', 'i', 'o', 'u' };
    string word;
    string newWord;
    getline(cin, word);
    for (int i = 0; i < (int)word.length(); i++) {
        bool vowel = false;
        char closest = 'z';
        int  close = 200;
        for (char &n : vowels) {
            if (n == word[i]) {
                vowel = true;
                break;
            }
            else if (abs(n-word[i]) < close) {
                closest = n;
                close = abs(n - word[i]);
            }
        }
        newWord += word[i];
        if (!vowel) {
            newWord += closest;
            if (word[i] == 'z') {
                newWord += 'z';
                break;
            }
            char next = word[i]+1;
            for (char n : vowels) {
                if (n == next) {
                    vowel = true;
                    break;
                }
            }
            newWord += ((vowel) ? word[i] + 2:next);
        }
    }
    cout << newWord << endl;
    //system("pause");//remove
}

对C ++不熟悉,我似乎无法理解这一点。 提前谢谢。

0 个答案:

没有答案