• Как усовершенствовать (переделать) конвектор валют в С++?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Вцелом и так пойдет (если задание, как вы сказали, на if`ы).

    А вообще из критики/рекомендаций:
    1.
    Напишите программу для перевода гривен, рублей и юаней в доллары.

    Ваша программа делает ровно наоборот - переводит из долларов в гривны/рубли/юани.

    2. Использовать вместо букв 'r'/'u'/'c' международные коды валют https://ru.wikipedia.org/wiki/ISO_4217
    Вам потребуется работа со строками. Это 100% есть где-то дальше по ходу учебника, так что просто читайте дальше, не зацикливайтесь на этом задании.

    3. Избыточно конкретно для этого задания, но для практики полезно - Сделать валюту с помощью классов.
    Как минимум нужны методы типа конвертации в строку, перегрузки операторов << >> и арифметических операторов и плюс функциями вида convertTo(std::string currencyName)
    Опять же 146% что вся вторая половина учебника про ООП, так что нет смысла тратить на это время сейчас.

    4. Ну и, на всякий случай, не используйте числа с плавающей запятой для работы с деньгами (или других сущностей, когда вам важна точность) если что-то серьезное пишете, а то, знаете-ли 0.1 + 0.2 != 0.3. В это проге это не важно, не нужно переделывать, но как минимум знать почему так происходит нужно.
    Нормальный учебник по-идее должен объяснять особенности чисел с плавающей точкой
    Ответ написан
    Комментировать
  • Как сейчас обстоят дела с кроссплатформенными фреймворками для мобильных платформ?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Фреймворки - Qt, SDL (уж не знаю как на последнем собирать приложения под телефоны, но Battle For Wesnoth в плеймаркете есть)

    А так есть полноценные игровые движки (коль скоро вы игры хотите делать): Unreal Engine, Unity, Cocos2D
    Ответ написан
  • "кнопка БП упирается в стол и комп выключается". Какие бюджетные варианты решения этой проблемы есть?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Можно вместо винтов, которыми прикручены боковые крышки вкрутить стойки для печатных плат (проверьте перед покупкой какая резьба!!!). Я думаю 1-2 см вам должно быть достаточно.

    Вот в качестве примера https://www.chipdip.ru/catalog-show/pcb-metal-supports
    p.s.
    Вообще считаю что покупать именно там не стоит т.к. в чипдипе цены на все какие-то неадекватные, особенно на "мелочовку"
    Ответ написан
    1 комментарий
  • С++ не создаёт файл без прав администратора?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Файл должен создаваться самой программой?

    А если программу отдельно запустить без прав админа файл создатся?
    А если сделать это в другой папке (например не в programm files) ?

    Путь содержит не латинские символы (например кирилицу) ?

    Можете написать минимальную программу, воспроизводящую проблему и выложить исходник?
    Ответ написан
    Комментировать
  • Как добавить товары на ozon, через его API?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Invalid JSON payload


    Для начала посмотрите что на самом деле вы отправляете и сравните это с документацией.
    Ответ написан
    3 комментария
  • Почему программа падает при вводе отрицательного числа?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Вы объявляете массив нулевого размера (не поверю что компилятор вам об этом не показал ворнинг), а потом пытаетесь писать куда-то. Вообще странно что она у вас не всегда падает т.к. должна падать с сегфолтом при любом введённом N от 1 до 1000.

    А вообще учитесь пользоваться отладчиком и смотреть что у вас происходит и где, когда что-то работает не так, как надо.

    p.s.
    Ну и на будущее - а не лень вам будет вбивать каждый раз руками исходные данные? проще читать их из файла или передавать в командной строке.

    p.p.s.
    И на будущее не плохобы научиться читать варнинги и ошибки компилятора. А если что-то спрашиваете приводить их текст, а так же введенные вами входные данные, полученный результат и какой результат по-вашему должен был быть. (например ввел 1, 2, 3, 4. Должен был получить 10, а получил 5.)
    Ответ написан
    1 комментарий
  • Имеет ли смысл учить C++ для GameDev в 2020?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Посмотрите какие сейчас нынче более-менее ходовые движки и что нужно чтобы с ними работать и сами найдете ответ.

    Ответ для лентяев

    А мож оно вам и не надо, раз сами найти ответ не можете?

    Ответ для целеустремленных лентяев.
    Да, нужно


    Ответ написан
    Комментировать
  • Обясните на примере взаимодейтсвие окон в QT C++?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    1) Как связать мой mainwindow.cpp и dialogsettingscom.cpp.

    Сигналами, самый очевидный вариант. Погуглите примеры модальных окон в Qt. (настройки, по логике, модальное окно)
    2) И где правильнее производить соединение при нажатий "Cоединиться" в dialogsettings.cpp или ловить сигнал нажатия "Соединиться" и производить соединение с ком портом в mainwindow.cpp.

    Каждому объекту своя задача.
    В идеале гуевые классы (виджеты) вообще не должны содержать бизнес логики. Вынесите все действия в отдельный (отдельные классы). Виджеты должны использоваться только как форма для ввода и отображения данных... ну и для управления.
    Ответ написан
    3 комментария
  • Почему сразу не выпустят процессор с максимальным количеством транзисторов?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    процессор с максимальным количеством транзисторов


    А максимальное кол-во транзисторов это какое? Которое поместится на поверхности Земли, или на которого хватит вещества на Земле или в Солнечной системе или во всей вселенной?

    Мы же не в компьютерной игрушке, где развитие процессоров ограничено N транзисторами.

    Ну и самое главное - транзисторы не главное. У слона мозгов больше чем у человека (и по массе. и по объему и по кол-ву синапсов), а вот интеллекта не факт что больше (даже самосознания, судя по всему, нет)

    Почему сразу не выпустят самый мощный процессор или видюху ?


    Опять же, самый мощный это сколько в ваттах? Мне после 90 ватт четвертого пня "самый мощный" чет не очень хочется. И почему вы решили что есть какой-то непреодолимый лимит по мощности, который "мы" в состоянии уже вот прямо сейчас достигнуть.
    Ответ написан
    Комментировать
  • Почему может не создаваться конструктор?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    "Замечательный" код. Только прежде чем выкладывать, было бы не плохо убедиться что на нем эта ошибка воспроизводится.

    Сделайте минимально-возможный код, на котором у вас возникала бы проблема, в решении которой вы просите помощи. Вполне вероятно, что в процессе создания такового вы внезапно найдете свою ошибку (мож вы, например, стек вызовов где-то перед вызовом конструктора попортили).
    А если сделать простой пример, где возникает ошибка, не получается - значит вы не правильно понимаете где она возникает и вероятно она где-то в "нагромождении", которое не получается из примера выкинуть.
    Ответ написан
    Комментировать
  • Какой интерфейс (API) использовать для обмена по raw socket между сервером и железкой (stm32)?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    AT команды, ИМХО не самый удобный формат - для человека читаемость плохая, а для контроллера - текст он и есть текст.

    Варианта 1 - варианты на тему текстовых протоколов - JSON, SOAP и т.п. - SMT32 достаточно быстрая, чтобы парсить такое.
    Вариант 2 - бинарный протокол - для работы с контроллером это рациональнее. (но если у вас есть большой запас по производительности, то нет смысла так этим заморачиваться).
    Ответ написан
    Комментировать
  • Как программно создать несколько сетевых интерфейсов?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Как я понял вам хочется делать тоже, что можно сделать через ifconfig, только без ifconfig - напрямую пиная систему. (Вы уверены что вам это реально нужно?)

    Собственно для этого есть libnetlink (которую использует iproute), которая может делать вообще все, что система вообще умеет по части сетевых интерфейсов.

    Рекомендую взять и посмотреть исходники ifconfig, и в отладчике посмотреть как она делает то, что вам нужно т.к. документация к libnetlink, как я считаю, хреновая и не полная (мягко говоря там много чего из того, что используется в ifconfig вообще не описано) и, как я считаю, API там очень не удобный.
    Ответ написан
    Комментировать
  • В каких случая используют иконку с двумя треугольниками (для выпадающих списков)?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Лично я бы ожидал что это отдельный от выпадающего меню элемент для увеличения/уменьшения значения в инпуте. (но это не так)

    Возможно намек на то, что значение можно стрелочками на клаве переключать.
    Ответ написан
  • Смысл сокрытия, когда есть рефлексия?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    age > 0

    А вы в курсе что возраст детей, в первый год жизни, меньше одного года?

    age < 100

    И, к стати, люди, иногда (хоть и редко), живут больше 99 лет.

    По сабжу давайте я приведу понятный пример с автомобилем.

    У машины есть три (или две) педали. Это ваши сетеры, которые устанавливают уровень ускорения и степень торможения. А еще спидометр, тахометр, датчик температуры и топлива в качестве гетера.
    Перефразируя ваш вопрос - нахрена машине педали, если я могу залезть под капот и вручную дергать приводы клапанов/заслонок и т.п. (при этом легко ломая логику работы педалей), и зачем мне все эти спидометры, если можно визуально посмотреть как быстро вращается валы/колеса?

    Ответ:
    Удобно, вы точно знаете как оно работает, производитель может поменять начинку (например заменить всякую механику и пневматику компьютером и электроприводами), а педалей как было три (или две) так и осталось, их функционал не изменился. Более того, в аналогичных изделиях другого производителя внезапно тот же API -педали и спидометр, хотя под капотом вообще может оказаться электромобиль.

    В общем логика такова:
    "Вот вам функции, за них и дергайте... а если лезете под капот... вы знаете что делаете и/или ССЗБ, а у нас лапки.

    Пожалуйста, максимально просто. Я еще совсем новичок.

    В любом случае - если вы не знаете (и/или не можете объяснить хотя бы резиновой уточке) зачем вам нужна рефлексия - она вам 100% не нужна.
    Ответ написан
    Комментировать
  • Компьютер виснет в одно и тоже время, какая может быть причина?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    У вас в расписании никаких потенциально тяжелых задач нет в районе 12 ? Ну там обновления и т.п.
    Выглядит как не хватка мощности БП в момент какой-то пиковой нагрузки.
    Если есть возможность, попробуйте блок питания заменить.
    Ответ написан
    2 комментария
  • Как избежать долгих пауз GC при создании множества мелких объектов?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Как вариант - избегать освобождения и выделения памяти. Особенно частого и в больших количествах.

    Очевидно что ноды будут изменяться только если изменяется сам уровень (ну или перемещаются какие-то объекты, которые влияют на проходимость карты) и очевидно это будут небольшие (относительно общего кол-ва нод) изменения, соответственно вы можете иметь глобальный пул нод и в локальной хешмапе использовать ссылки на нужные вам ноды. Как результат - ваши ноды быстро перестанут быть молодыми объектами и GC не будет их проверять (или будет, но редко. Этот момент я не очень понял из оракловской доки)

    Еще есть вариант - использовать другой сборщик. Дока

    И еще на хабре советуют увеличить размер PermanentGeneration
    Ответ написан
  • Нужно нарисовать пустой квадрат с крестиком используя циклы, верно ли моё решение?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Если запустить - данная программа рисует, что надо, при любом значении count (т.е. очевидно она работает).

    По коду пара слов:
    1. Не используйте транслит в названиях классов/переменных и т.п. Принято все английским обзывать.
    2. Я думаю вам любая IDE это за меня скажет - вы Scanner sc объявили, но нигде не используете. Я понимаю, что вы скорее всего добавите потом произвольный размер квадрата, но из кода для вопроса можно было бы это и убрать, чтоб глаза не мозолило (и вообще вам же легче будет отлаживать конкретный функционал, когда у вас нет лишнего функционала).
    3. Как вам уже сказал Дмитрий Шицков , ифы можно заменить на один вот такой:
    if (i == 0 || i == count - 1 || j == 0 || j == count - 1 || i == j || j == count - 1 - i) {
    	System.out.print("*");
    } else {
    	System.out.print(" ");
    }


    Хотя лично я бы (в ущерб компактности кода) сделал бы следующее:
    1. Рисовал бы сначала в массив с символами, в который писал бы пробелы или звездочки. (и потом его выводил бы на печать)
    2. Сделал бы отдельные функции для рисования каждой из линий (которая модифицирует массив)
    Ответ написан
    1 комментарий
  • Как писать чит для игры Minecraft?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Но нигде не смог найти информации по этой теме

    Прошу подсказать статью или может видео


    Вот не надо врать. Гайдов по созданию модов/плагинов/расширений к майнкрафту в интернете пруд пруди (покрайней мере для Java Edition)
    Ответ написан
    7 комментариев
  • Сколько бит(байт) занимают типы данных с плавающей запятой в C++?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    int занимает 4 байт

    Не всегда. Зависит от платформы. Вы всегда можете проверить написав sizeof(int), sizeof(double) и т.п.

    Но в случае с double можно задать абсолютно любое число,да еще и указать множество цифр после запятой.Как это работает?


    Числа с плавающей точкой (запятой) имеют ограничение по точности. Т.е. В общем случае A + B ≈ С;
    Ответ написан
    Комментировать