C ++猪拉丁语翻译

时间:2014-04-22 04:50:50

标签: c++ string

我正在用C ++编写一个程序,将一个句子翻译成猪拉丁语,只需要取出单词的第一个字母并将其带到最后然后添加“ay”示例“hello world”变成“ellohay orldway”但是它没有工作,香港专业教育学院尝试了几种不同的方式,在这一点上我即将放弃,请有人帮助我这样做。

#include "stdafx.h"

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

void seperator(char []);

int main()
{
    string input;
    const int SIZE = 40;
    char sent[SIZE];

    cout << " enter sentence " << endl;
    cin >> input;
    cin.getline(sent, SIZE);
    seperator(sent);
    cout << input << endl;


    system ("pause");
    return 0;
}

void seperator(char input[])
{
    int count = 0;
    char x;
    while (input[count] != '\0')
        count++;
    if (isalpha(input[count]))
        x =input[count];
    if (input[count] == ' ')
        input[count] = (x + ' ');
    if (input[count] == ' ')
        input[count] = 'ay';


}

1 个答案:

答案 0 :(得分:4)

您的cin >> input;只是将字符串放到第一个空格,因此helloworld之间的空格。

这就是为什么除了第一个单词之外它似乎都在删除所有内容,你应该使用类似的东西 std::getline (std::cin,input);