Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Морзянка... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Зачем нужные поразрядные операции. Книга Павловская, Щупак http://www.cyberforum.ru/cpp-beginners/thread47754.html
Решаю задачу из учебника Павловская, Щупак. С++. Программироание на языке высокого уровня. Структурное программирование. Практикум. Часть 1. Семинар 2. Задача 1. стр. 44. Задачу см. в привязанном...
C++ проблемы с памятью.... с алгоритмом вроде все нормально но вот происходит такая вещи при определенном действии выдается сообщение которое на скриншоте.... потом высвечивается вот эта строка int Put_Reis(FILE *f_reis, MAP... http://www.cyberforum.ru/cpp-beginners/thread47753.html
Матрица.Поиск точки C++
У меня есть матрица 25 х 80.Есть функция,которая принимает ссылку на матрицу и текущее расположение(координаты точки). Мне нужно найти данную точку(т.е. отдельный класс создан). Обзор видимости 5...
C++ Перегрузка + для строк
есть задача перегрузить = и + таким образом чтобы: строка1=срока2+строка3 с = проблем нет. а вот при перегрузке + выдает ошибку при доступе к закрытым данным //STRING2.H #ifndef STRING2_H...
C++ Как подключить к проекту новый файл с функцией http://www.cyberforum.ru/cpp-beginners/thread47701.html
Есть работающий проект на C++ (dll) Хочу в Visual Studio 2008 создать в проекте отдельный файл и в этом файле создать свою функцию которую можно было бы вызывать из существующих файлов Я создал в...
C++ Выход по ESC Приветствую вас уважаемые "чатлане"! .Пишет вам "пацак". Я начал с Borland C++ 3.1. Наверное все очень просто на самом деле, но как и у всех начинающих ...Есть инструкция - вывод символа на экран и... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9662 / 5611 / 952
Регистрация: 25.07.2009
Сообщений: 10,774
21.08.2009, 17:57  [ТС]
accept Спасибо, очень интересный код! Если позволите, несколько вопросов:
1. Если ничего не путаю, что-то, объявленное как static во внешнем файле, только в нём и видно. Но свойства создаваться при запуске и сохраняться между вызовами вроде не теряет. К тому же у Вас MorzeCodePage mcp объявленная внутри ConvertToMorzeLine, только там и используется. Почему не нужно (не желательно) её, как static объявлять?

C++
1
2
3
4
5
6
7
8
9
10
11
void ConvertToMorzeLine(char *dest, const char *l){
...
    for (p = (char *) l; *p != '\0'; p++) {
        c = tolower(*p);
        if (!(q = strchr(mcp.characters, tolower(c))))
            strncat(dest, p, 1);
        else {   
            strcat(dest, mcp.morze[q-mcp.characters]);
            strcat(dest, " ");
        }
    }
2.
C++
1
for (p = (char *) l ...
А зачем l к char* приводится? Она же вроде и есть указатель на char, правда, константный...

3.
C++
1
2
c = tolower(*p);
        if (!(q = strchr(mcp.characters, tolower(c))))
с и так *p в нижнем регистре. Это случайо, наверное?

PS:
C++
1
strcat(dest, mcp.morze[q-mcp.characters]);
Очень понравилось, обязательно применю где-нибудь.

Lolcht0 Да можно, наверное. Мне архаичный Си больше нравится.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru