• Есть ли общепринятый Code Style для Си?

    @Ix_Didicus
    >>перевод на русский
    Не буду оригинален: учитесь читать по-английски. Даже если вы найдёте перевод конкретно этого стандарта — дальше что? Захотите использовать какую-нибудь библиотеку — а там документация уже будет только по-английски. К сожалению, инглиш — стандарт де факто. Умение читать (точнее понимать — обратите внимание, не говорить / писать!) оригинальную документацию — это базовый навык программиста.
  • Почему не присваивается переменная?

    @Ix_Didicus
    Из этого отрывка ничего не понятно (на первый взгляд, код выглядит нормально), приведите именно конкретный код, где вы, по-видимому, создаёте объект и вызываете этот метод. Скорее всего, в сам метод передаются некорректные данные.
    P.S. Вообще, заглавными буквами в Java принято выделять только константы. Это, безусловно, не ошибка, но если в будущем вы планируете трудоустроиться, то лучше привыкать к стандартам уже сейчас.
    P.P.S. Не стоит выкладывать код скриншотом, для вставки кода с подсветкой здесь есть кнопочка. Во-первых, на вашем скриншоте видны артефакты сжатия (хотя в свойствах картинки у меня почему-то высвечивает PNG), во-вторых, картинка с текстом не всегда будет одинаково хорошо отображаться на разных мониторах, тогда как отображение текста, как правило, уже настроено пользователем под его конкретные предпочтения.
  • Рекурсивный обход каталога. Какие библиотеки и функции использовать?

    @Ix_Didicus
    На Windows можно поставить Cygwin. Это реализация UNIX (POSIX) подсистемы (тот же ls там есть, можно даже посмотреть исходники), так что вполне можно написать "универсальную" программу, главное не забывать, что под Windows скомпилированный exe-шник нужно распространять со всеми используемыми библиотеками из пакета (как минимум cygwin1.dll точно нужен, можно посмотреть зависимости с помощью программ типа Dependency Walker).
    Если не хочется тянуть библиотеки Cygwin'a, можно попробовать MinGW или MinGW-w64. Ещё была своя подсистема Unix у Microsoft, но вроде бы они уже отказались от её поддержки, и у меня нет уверенности, что код под неё не придётся переписывать.
  • Как форматировать ввод данных?

    @Ix_Didicus
    Самый примитивный вариант: воспользоваться управляющими символами \r (возврат каретки) и \b (забой). Первый перемещает курсор в начало строки, второй — на символ назад. Соотв., \r\b вернёт в конец предыдущей строки, \r\b\r — в её начало. Использовать, например, так:
    printf("%16s\r", "mm");
    scanf("%d", &val);
    printf("%d", val);

    или так:
    printf("User input:\n\n(enter required value in mm)\r\b\r");
    scanf("%d", &val);
    printf("\n%d", val);

    Конечно, если пользователь введёт слишком длинную строку, то она налезет на последующий текст и затрёт его, так что этот способ не стоит использовать, если предполагается ввод очень больших значений.
  • Почему работает выход за пределы границ массива?

    @Ix_Didicus
    gcc версии 4.8.3 под Cygwin — сегфолт
    cl версии 16 (10-я студия) — работает
  • Что можете сказать о курсах от "Специалиста"?

    @Ix_Didicus
    bagerman:
    А что удивительного в том, что многие пренебрегают видеоуроками? Видео, банально, требует больше времени. Книгу, в случае нужды можно по-быстрому пролистать, чтобы отыскать нужный момент. Если что-то неясно — всегда можно перечитать фразу, перематывать же видео не так удобно.
    К тому же программирование — это, в конечном счёте, работа с текстом (кодом), так что умение воспринимать большие объёмы текстовой информации лишним не будет.

    Роман Белинский:
    Что касается Линукса, то его рекомендуют, потому что это, можно сказать, ОС для программистов. Можно почитать любопытную статью Джоэля Спольски:
    russian.joelonsoftware.com/Articles/Biculturalism.html
    Тут он пишет про Юникс вообще, но и к Линуксу всё это то же относится. Только нужно делать скидку на срок: этой статье уже почти 15 лет, за это время, естественно, многое изменилось, особенно с тех пор как появилась та же Убунта, и большинство дистрибутивов повернулось и в сторону обычного пользователя, но те основы, что были заложены многие годы назад, никуда не делись.
    Впрочем, лично на мой взгляд, если речь идёт о веб-разработке (клиентской её части), то особой разницы, какая ОС, нет (хотя иметь под рукой пару виртуалок с разными ОС и браузерами весьма рекомендуется).
  • Переезд на линукс, но как быть с офисом?

    @Ix_Didicus
    Вот буквально только что открыл два doc'a, и в Кингсофте, и в Софтмейкере. Первый открылся более-менее в Кингсофтовском и поехало форматирование в Софтмейкерском. Со вторым документом всё в точности да наоборот. Хоть ставь всю пачку бесплатных офисов и методом тыка пробуй, в каком нужный в данный момент документ отобразится правильнее...
  • Переезд на линукс, но как быть с офисом?

    @Ix_Didicus
    Хороший вопрос, лично я пробовал и Кингсофт, и SoftMaker FreeOffice, и по-моему, поддержка что вордовских форматов, что OpenDocument — отвратительна, лучше уж ЛО/ОО использовать тогда. Плюсы, пожалуй, только в наличии более "гламурненького" интерфейса, да и запускаются они побыстрее. Хотя мне больше всего нравится IBM Lotus Symphony (в нём поддержка doc лучше, но тоже не идеал), но увы, он более не развивается, и есть мелкие, но раздражающие глюки как на винде, так и на линуксе.
  • Какой учебник для изучения С++ с нуля в данный момент актуален ?

    @Ix_Didicus
    GCC ещё есть в составе Cygwin (это практически полноценная линукс- (или вернее POSIX-) среда для Windows). Хотя новичку лучше воспользоваться MinGW, ставить Cygwin ради одного только компилятора, пожалуй, не стоит, да и обычно линуксовый софт под виндой собирается с помощью MinGW. В качестве IDE могу порекомендовать NetBeans, она как раз использует GCC, к тому же эта связка (NetBeans + GCC) кроссплатформенна, не нужно будет переучиваться, если автор вопроса вдруг захочет перейти на Linux. Впрочем, для Qt Creator это справедливо в равной степени.

    Вообще, я бы порекомендовал автору заняться параллельным изучением Linux, хотя бы даже в виртуальной машине, это поможет ему скрасить бытиё ничуть не хуже, и вполне может ему пригодиться в будущем.
    Хотя от цели изучения зависит. Если ему интересна исключительно разработка под Windows, то в этом случае стоит делать упор на Visual Studio.
  • Как написать операционную систему с нуля?

    @Ix_Didicus
    >Микрософт своей досни опубликовали вроде бы
    Так и есть, их можно взять отсюда:
    www.computerhistory.org/press/ms-source-code.html
    Правда, MICROSOFT RESEARCH LICENSE AGREEMENT, сильно ограничивает полезность этих исходников, насколько я понял, их можно посмотреть-поковырять-покомпилить, но выкладывать результат производных работ в публичный, даже некоммерческий доступ — нет.
    Так что лучше уж пусть смотрит в сторону Kolibri или Minix.
  • Как написать операционную систему с нуля?

    @Ix_Didicus
    Насчёт ЯП - на самом деле, только C/C++ дело не ограничивается, есть например, ОС, написанные преимущественно на Java:
    https://en.wikipedia.org/wiki/JavaOS
    Впрочем, совсем без использования какого-либо низкоуровневого языка (будь то C, Asm, а может, C--?) не обойтись.

    Что касается Колибри, то это неудачный пример. Во-первых, эта ОС не создавалась с нуля, во-вторых, она пишется вот уже около десяти лет, но всё равно производит впечатление довольно сырой и неудобной, и нужно постараться, чтобы найти ей практическое применение (кроме изучения ассемблера, конечно).
  • Как запустить jar-программу на Windows XP? На Windows 8 нормально запускается?

    @Ix_Didicus
    Зачем батник? Костыль же, лучше ассоциировать напрямую к javaw через сервис->свойства папки, в отличие от 7 в XP это несложно сделать. Заходим в "типы файлов", ищем или создаём тип Jara, создаём действие Open (или &Open, чтобы можно было запустить файл вызовом контекстного меню и клавишей O), указываем что-то вроде:
    "C:\Program Files\Java\JREx64\bin\javaw.exe" -jar "%1" %*
    Всё, устанавливаем Open как действие по умолчанию.