Это похоже на домашнюю работу, но будьте уверены, что это не домашнее задание. Просто упражнение в книге, которое мы используем в нашем курсе на C++, я пытаюсь читать дальше по указателям.tokenizing and conversion to pig latin
Упражнение в книге говорит мне разбить предложение на токены, а затем преобразовать каждый из них в латинский свиньи отображать их ..
свинья латинская здесь в основном так: мяч становится allboy в piglatin .. мальчик становится oybay .. взять первую букву из, положить его в конце добавьте «ау» ..
до сих пор это то, что у меня есть:
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstring>
using std::strtok;
using std::strcat;
using std::strcpy;
void printPigLatin(char *);
int main()
{
char sentence[500];
char *token;
cout << "Enter string to tokenize and convert: ";
cin.getline(sentence, 500);
token = strtok(sentence, " ");
cout << "\nPig latin for each token will be: " << endl;
while(token != NULL)
{
printPigLatin(token);
token = strtok(NULL, " ");
}
return 0;
}
void printPigLatin(char *word)
{
char temp[50];
for(int i = 0; *word != '\0'; i++)
{
temp[i] = word[i + 1];
}
strcat(temp, "ay");
cout << temp << endl;
}
Я понимаю, что t он четко обозначил часть, но я не уверен, как сделать свинную латину. Я попытался начать с простого добавления «ай» к токену и посмотреть, какие результаты будут. Не знаю, почему программа переходит в бесконечную цикл и продолжает показывать «ayay» .. какие-нибудь подсказки?
EDIT: это один работает нормально сейчас, но им не уверен, как добавить первую букву маркера прежде, чем добавить «ау»
EDIT: это, как я «видеть» это сделать, но не знаю, как правильно его реализовать.
на данный момент я только прочитал очень простой материал, и большинство из того, что я знаю, основано на указателях стиля и т. Д., Поэтому не уверен, как их использовать. –