Надо же писать как ругается. Да и вообще, в сообщении об ошибке обычно есть вся нужная информация для устранения ошибки, если нет - то вбиваешь в поисковик и читаешь, что пишут. Могу сказать, что умение внимательно читать - решает 99% проблем.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Надо же писать как ругается. Да и вообще, в сообщении об ошибке обычно есть вся нужная информация для устранения ошибки, если нет - то вбиваешь в поисковик и читаешь, что пишут. Могу сказать, что умение внимательно читать - решает 99% проблем.
[C++ Error] Unit1.cpp(11): E2451 Undefined symbol 'str1' вот так и ругаеться вот код Спойлер
В сообщении об ошибке это прямым текстом говорится: неизвестный символ str1. Неизвестный потому что ты нигде не объявил переменную с таким именем. А доступ к элементам массива осуществляется через специальный оператор (квадратные скобки), а не просто добавлением циферок к имени массива. Нумерация начинается с нуля.
В данном случае эксплуатируется тот факт, что в используемой кодировке (стандарту по которому символ сопоставляется числовому коду) заглавные буквы расположены по алфавиту друг за другом. То есть, напирмер, символу 'A' соответствует код 65, символу 'B' - код 66, 'C' - код 67, и так далее до символа 'Z' с кодом 90. После заглавных букв идут строчные, так же в алфавитном порядке. Цифры тоже расположены по порядку, только в другом месте, перед заглавными буквами. Вот, можешь посмотреть табличку ASCII, почитай что это такое в википедии, почитай про различные кодировки, и что это такое - кодировка.
Ближе к делу. Имеем подряд идущие заглавные буквы, соответственно, если числовое значение переменной больше кода буквы 'A' и меньше кода буквы 'Z', то это значение является кодом какой-либо заглавной буквы. Компилятор подменяет выражения 'A' и 'Z' (которые являются символьными литералами) на соответствующие числа. Можно вместо символьных литералов явно указывать соответствующие им числа, если только ты точно знаешь с какой кодировкой работаешь.
Код:
if (ch >=65 && ch <= 90)
В заключении скажу, что этот трюк прокатит не всегда. С латинскими буквами обычно все хорошо, но буквы других языков могут следовать не по алфавиту и вообще не друг за другом. Использовать надо с осторожностью и пониманием.
Цитата:
как выглядел бы код если бы не имело значения каким регистром вводить?
Возможно из-за обращения к несуществующему элементу массива str[9]. Ведь он объявлен как char str[9][50], то есть массив из 9 строк, от нулевой до восьмой включительно. А тут вдруг к девятой обращаются, которая на самом деле уже десятая, отсчет то с нуля начинается. Надо объявить массив как char str[10][50].
а почему при компиляции ошибку не выдает ? а выскакивает только когда запускается приложение, и тупо виснет, через диспетчер задач приходиться закрывать или это нормальное явление для борландС++ 6,0 ? попробую подправить, погляжу что выйдет
у тебя массив, в который ты пихаеш набор букв, который ты воспринимаеш как строку компутер не знает, что это строка, т.к. на конце массива нет символа \0, который обозначает конец строки тебе нужно использовать строки и никакой оем там не нужен, используй юникод всегда http://valera.asf.ru/cpp/book/c03_4_2.html и если ты пишеш на с++, то используй плюсовые библиотеки <iostream> а то у тебя файл цпп, а код сишный
_________________ тематические ответы только в форуме, в приват не пишите
Да начинал с МК, но постепенно дошел до Си Пошли вопросы почему именно 0-ой бит ? и как выглядела бы запись, если бы вместо 0-го бита мне нужен был бы 4-ый. И не кинете ссылку, где можно почитать про логические и битовые операции, но только что бы было описано и разжевано, а то, то что находил сам в голове толком не укладывается и желательно с примерами P.S. Только не гугл в помощь ?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения