Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
3 / 2 / 2
Регистрация: 04.12.2020
Сообщений: 38

Как сделать код более читабельным?

14.03.2022, 21:02. Показов 475. Ответов 5

Студворк — интернет-сервис помощи студентам
Приветствую всех. У меня встал небольшой вопрос, решение которого я не нашёл и не смог до него догадаться. Допустим, у меня есть строка, алфавит которой состоит из всех латинских букв. Мне надо пройтись по массиву и для каждой встреченной буквы мне нужно сделать какие-нибудь разные действия. Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
string a;
getline(cin >> a);
for (int i = 0; i < a.size(); i++) {
    if (a[i] == 'a') {
        //do smth
    } 
    if (a[i] == 'b') {
        //do smth other
    }
    //и так ифать весь алфавит
}
Знаю, что существует switch, но он не сильно исправляет положение и, насколько мне известно, не работает с символами. Есть какой-то более "гуманный" выход, чтобы код был менее громоздким и более читабельным?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2022, 21:02
Ответы с готовыми решениями:

Как сделать данный код более логичным и читаемым?
Здравствуйте. Есть код, который, очевидно, выглядит не совсем логично. Полагаю, что запись в файл нужно сделать отдельной функцией, но вот...

Как оптимизировать код и сделать алгоритм более быстрым и эффективным?
Есть две последовательности чисел: 1. A, A, ... , A. 2. B, B, ... , B. Нужно проделать следующие операции с...

Конвертация файла в массив аски символов, как сделать более читаемый код?
Задача следующая, есть обычный файл index.html каждый символ внутри него надо перегнать через аски преобразование и занести его в...

5
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
14.03.2022, 21:08
Цитата Сообщение от jongl Посмотреть сообщение
насколько мне известно, не работает с символами.
Работает.
Цитата Сообщение от jongl Посмотреть сообщение
Есть какой-то более "гуманный" выход, чтобы код был менее громоздким и более читабельным?
А какие конкретно действия?
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,031
14.03.2022, 21:10
jongl, для начала - подправить форматирование, сделать говорящие идентификаторы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <string>
 
int main()
{
    std::string input_string; getline(std::cin, input_string);
    
    for(const auto& letter:input_string)
    {
        switch(letter)
        {
            default:
            {
                
            }break;
            
            case 'a':
            {
                
            }break;
            
            case 'b':
            {
                
            }break;
        }
    }    
}
Добавлено через 26 секунд
в зависимости от задачи - возможно, перейти от свича к std::map
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,989
Записей в блоге: 32
14.03.2022, 21:15
Зачем мап, хватит и массива указателей на функции без аргументов. Только ставлю 100 денег, что те самые "действия" у ТС можно катагоризировать и сгруппировать, и сделать более удобные вложенные свитчи
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
14.03.2022, 21:31
_Ivana, ставлю фантик от жвачки, там что-то типа шифра замены или транслитерации.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,989
Записей в блоге: 32
14.03.2022, 21:45
avgoor, вполне возможно. Я просто лелею слабую надежду, что ТС пишет слово "действия" осознанно, и там какой-нибудь закодированный сценарий, ДСЛ или Форт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.03.2022, 21:45
Помогаю со студенческими работами здесь

Сделать html код более читабельным
Допустим, есть textarea с html кодом внутри, и нужно сделать этот код более читабельным, например: Было: &lt;div...

Как сделать меню читабельным
как в Joomla отредактировать стиль меню. точнее подпункты пеню. http://azbykat.ru/ меню страны. когда открываешь 3-й уровень меню, меню...

Как сделать так чтобы при уменьшении окна браузера сайт был читабельным
Как сделать так чтобы при уменьшении окна браузера сайт был читабельным

Как сделать код более компактным?
$(document).ready(function(){ var sumNum = parseInt(document.getElementById(&quot;digit1&quot;).innerText) +...

Как сделать код более лаконичным?
Есть вот такой вот кусочек кода, хотелось бы сделать его покороче и покрасивее. async public static void Sttory() { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru