Основная структура вашей программы должна быть:
int main() {
std::string line;
while (std::getline(std::cin, line) && line != "exit") {
std::cout << phone_digits(line) << "\n";
}
}
Это почти так же просто, как и получается.Условие «выхода» не является строго обязательным, поскольку существует широко распространенное соглашение о том, как сигнализировать об окончании ввода.В Windows это Ctrl + Z, в то время как в UNIX-подобных системах (Linux, NetBSD, macOS) это Ctrl + D.
Я также не понимаю, почему вы сначала вводите 'y', чтобы фактически запуститьпрограмма.Это тоже не нужно, но ваш учитель, вероятно, будет настаивать на этом, тем не менее.
Следующим шагом будет написать функцию phone_digits
и поместить ее выше основной функции.Эта функция принимает строку в качестве аргумента, а также возвращает строку.
std::string phone_digits(const std::string &input) {
std::string result;
// TODO: convert letters from input to digits in output
// TODO: insert the hyphen in the result
return result;
}
Чтобы написать функцию в этой форме, вы должны прочитать документацию класса std::string
, чтобы узнать, как выполнить циклдля всех символов из ввода и как добавить символы в конец строки результата.