Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2024, 10:55   #1
Shklvaler
Новичок
Джуниор
 
Регистрация: 09.02.2024
Сообщений: 1
По умолчанию Код перестает работать внутри if

Добрый день! Пожалуйста, помогите дилетанту)
Код (шифр Цезаря на коленке) работает, но как только вставляю его в "if (action=1) => выполни программу, перестает работать. Подскажите, что делаю не так? (Action =2, 3 пропишу, когда будет работать хотя бы 1)

#include <iostream>
#include <string>
#include <cstring>
using namespace std;


int main()
{
int action;
cout << "Введите action 1/2/3:" << endl;
cin >> action;
cout << "Программа видит номер:" << endl;
cout << action << endl;
if (action == 1)
{
int index = 0;
cout << "Введите сообщение для шифрования: ";
string input;
getline(cin, input); //используем эту фунцию, чтобы кодировалась вся строка, а не символы до пробела

const int length = input.size(); //одпределяем количество символов в строке
char cesar[length];

for (int i=0; i < length; ) //запускаем счетчик i. Алгоритм будет работать, пока шифр не пройдет всю длину строки
{
int symb = input[index]; //вводим переменную для каждого символа из строки
symb = symb+1; //смещаем символ на 1
cesar[index] = symb; //записываем значение после смещения в массив
index += 1; //увеличиваем индекс для перехода к след. символу
i++;
}
// Выведем массив, который получился после кодирования всех символов строки
cout << "Результат шифрования: ";
cout << cesar << endl;
}

}

Последний раз редактировалось Shklvaler; 09.02.2024 в 11:03.
Shklvaler вне форума Ответить с цитированием
Старый 12.02.2024, 17:14   #2
MansMI
Пользователь
 
Регистрация: 04.07.2012
Сообщений: 32
По умолчанию

еще интересно?
Цитата:
Сообщение от Shklvaler Посмотреть сообщение
if (action=1)
присвоение, всегда true
MansMI вне форума Ответить с цитированием
Старый 12.02.2024, 17:41   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от MansMI Посмотреть сообщение
присвоение, всегда true
Именно в данном случае true, т.к. присваивается ненулевое значение. Было бы нулевое значение - результат был бы false.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.02.2024, 20:58   #4
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

По этой теме есть книга "Узник замка If"
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестает работать процедура waka2ebawer Общие вопросы Delphi 11 23.06.2013 18:05
Перестает работать глобальный хук wanes101 Win Api 2 22.02.2013 15:00
Автоподстановка перестает работать GekFinn Microsoft Office Access 1 19.01.2012 11:38
ПЕРЕСТАЕТ РАБОТАТЬ МАКРОС Cone Microsoft Office Excel 3 15.08.2010 13:49
ПЕРЕСТАЕТ РАБОТАТЬ СОРТИРОВЩИК Cone Microsoft Office Excel 5 10.08.2010 16:36