Используя C++, я пытаюсь написать программу, которая шифрует строку. Я должен сопоставить каждую букву алфавита с числовым значением: например, a = 0, b = 1, c = 2 и т. Д. До сих пор я создал функцию void, которая берет строку в качестве параметра и использует оператор switch для вывода значений. Проблема в том, что значения - это символы, а не ints, и я не могу использовать математические операторы для их изменения. Моего исходный код ниже:Сопоставление числовых значений с символами
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <string>
#include <cctype>
using namespace std;
void mapped_string(string in)
{ string mapped_string;
int length = in.length();
for (int i = 0; i < length; i++)
{
switch (in[i])
{
case 'a':
cout<<"0";
break;
case 'b':
cout<<"1";
break;
case 'c':
cout<<"2";
break;
case 'd':
cout<<"3";
break;
case 'e':
cout<<"4";
break;
case 'f':
cout<<"5";
break;
case 'g':
cout<<"6";
break;
case 'h':
cout<<"7";
break;
case 'i':
cout<<"8";
break;
case 'j':
cout<<"9";
break;
case 'k':
cout<<"10";
break;
case 'l':
cout<<"11";
break;
case 'm':
cout<<"12";
break;
case 'n':
cout<<"13";
break;
case 'o':
cout<<"14";
break;
case 'p':
cout<<"15";
break;
case 'q':
cout<<"16";
break;
case 'r':
cout<<"17";
break;
case 's':
cout<<"18";
break;
case 't':
cout<<"19";
break;
default:
cout<< in[i];
}
}
}
int main()
{ string str1 = "Hello";
mapped_string(str1);
cout << "Press any key to exit." << endl;
cin.ignore(2);
return 0;
}
Мне нужна эта функция для отображения каждого символа в строке на значение INT и сохранять значения INT в новой строке под названием mapped_string.