Шифр Цезаря на C++ . Помогите с реализацией программы новичку
Подскажите пожалуйста, код не работает, выдает вот такую ошибку. [i] выражение должно иметь тип указателя на объект, но имеет тип "int" [i] на все эти i ругается. Я новичок, прям вообще с нуля учусь всего месяц, не ругайтесь если полную чушь кодирую.
#include <iostream>
using namespace std;
char p;
int main()
{
setlocale(LC_ALL, "ru");
while (p != '3')
{
cout << "\nВас приветствует программа \"Шифр Цезаря 1.0\"\n\n";
cout << "Выберите действие :" << endl;
cout << "1.Шифрование \n" <<
"2.Дешифрование \n" <<
"3.Выход \n\n";
cin >> p;
switch (p)
{
case '1':
{
int simvol;
int shift;
cout << "\"Введите количество символов слова\"-" << endl;
cin >> simvol;
cout << "\"Введите сдвиг, на который хотите изменить слово\"-" << endl;
cin >> shift;
cout << "\"Введите слово латинскими буквами\"-" << endl;
char* stroka = new char[simvol];
for (int i = 0; i < simvol; ++i)
{
cin >> stroka[i];
}
if (stroka)
{
char newstroka;
for (int i = 0; stroka[i] != '\0'; ++i)
{
newstroka = stroka[i];
if (newstroka >= 'a' && newstroka <= 'z')
{
newstroka = newstroka - shift;
if (newstroka < 'a')
{
newstroka = newstroka + 'z' - 'a' + 1;
}
stroka[i] = newstroka;
}
else if (newstroka >= 'A' && newstroka <= 'Z')
{
newstroka = newstroka - shift;
if (newstroka < 'A')
{
newstroka = newstroka + 'Z' - 'A' + 1;
}
stroka[i] = newstroka;
}
}
}
break;
}
case '2':
{
int stroka;
char simvol;
char shift;
cout << "\"Ведите слово латинскими буквами\"-" << endl;
cin >> stroka;
cout << "\"Введите количество символов слова\"-" << endl;
cin >> simvol;
break;
}
case '3':
{
cout << "Выход из программы \"Шифр Цезаря 1.0\"" << endl;
break;
}
default:
cout << "Ошибка!Попробуйте ввести действие из меню." << endl;
}
break;
}
return 0;
}