Я пишу программу, которая выполняет простое вращение (думаю, как rot13) в строке, взятой из пользовательского ввода. Моя проблема в том, что я хочу каждый раз менять каждый символ в значении ASCII строки различной суммой - и поэтому я использую цикл for для прохождения строки и вызывая функцию, которая каждый раз генерирует случайное число. Тем не менее, я хочу, чтобы иметь возможность вернуть это число, чтобы я мог «расшифровать» строку позже. Очевидно, мне также нужно вернуть строку.Возвращение двух значений двух разных типов в функции C++
Вот мой код:
int ranFunction()
{
int number = rand() % 31;
return number;
}
string rotFunction(string words)
{
int upper_A = 65;
int lower_z = 122;
int rand_int = 0;
for (int i = 0; i < words.length(); i++)
{
rand_int = ranFunction();
if (words[i] >= upper_A && words[i] <= lower_z) {
words[i] -= rand_int;
}
}
return words;
}
Я надеюсь получить rotFunction вернуть слова и целое на основе любой rand_int случается каждый раз.
Просто примечание: числа, которые я использую RE: значения ascii и т. Д., Полностью произвольны прямо сейчас, просто для тестирования.
[это] (http://stackoverflow.com/documentation/c%2b%2b/487/returning-several-values-from-a-function#t=201701261136058675108) может вас заинтересовать –
Почему бы не вернуться структура. –
@ Arco3 Для начала это должно быть утверждение rand_int = ranFunction(); быть вне петель? –