courses:programming:rules_extra_kurs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
courses:programming:rules_extra_kurs [2018/02/26 12:40]
pro100kot created
courses:programming:rules_extra_kurs [2024/03/03 09:17] (current)
sergey_tinyakov [CLI (Command Line Interface)]
Line 1: Line 1:
-====== ​Варианты реализации ======+====== ​Требования к курсовым (весенний семестр) ​======
  
 =====CLI (Command Line Interface)===== =====CLI (Command Line Interface)=====
Line 6: Line 6:
   * Обязательная обработка всех возможных исключительных ситуаций (даже бьющийся в агонии по клавиатуре пользователь не должен “уронить” вашу программу неверными аргументами)   * Обязательная обработка всех возможных исключительных ситуаций (даже бьющийся в агонии по клавиатуре пользователь не должен “уронить” вашу программу неверными аргументами)
   * Для всех(для которых это имеет смысл) ключей должны быть как полные так и сокращенные версии(-h,​ --help)   * Для всех(для которых это имеет смысл) ключей должны быть как полные так и сокращенные версии(-h,​ --help)
-  * По-умолчанию последним аргументов утилите должно передаваться имя bmp файлав который и будут записаны изменения, однако это ​ можно переопределить соответствующими ключамикак и имя выходного файла. +  * По-умолчанию последним аргументом утилите должно передаваться имя ​входного ​bmp/png файла. Имя ​выходного файла по умолчанию должно быть ''​out.bmp''​ (''​out.png''​ для png), однако это ​должно ​быть возможным ​переопределить соответствующими ключом ''​-o''​''​--output ''​ 
-  * Утилита должна иметь функцию печати подробной информации о bmp-файле +  * Утилита должна иметь функцию печати подробной информации о bmp\png-файле, ключ ''​--info''​ 
-  * В случае,​ если программой будут поддерживаться не все версии bmp-файлов,​ программа должна выводить об этом внятное сообщение,​ а не крашиться.+  * В случае,​ если программой будут поддерживаться не все версии bmp/png-файлов,​ программа должна выводить об этом внятное сообщение,​ а не крашиться.
   * Для каждого инструмента должен быть соответствующий ключ и ключи для его конфигурирования. Например,​ рисование прямоугольника может выглядеть как-то так: ​   * Для каждого инструмента должен быть соответствующий ключ и ключи для его конфигурирования. Например,​ рисование прямоугольника может выглядеть как-то так: ​
 <​code>​ <​code>​
Line 41: Line 41:
   * Заголовки изображения должны быть представлены в виде отдельных структур для каждого заголовка,​ если их несколько.   * Заголовки изображения должны быть представлены в виде отдельных структур для каждого заголовка,​ если их несколько.
   * Все операции из задания должны быть реализованы в виде отдельных public методов и реализованы должны быть самостоятельно (нельзя использовать стандартные средства,​ который сами все нарисуют)   * Все операции из задания должны быть реализованы в виде отдельных public методов и реализованы должны быть самостоятельно (нельзя использовать стандартные средства,​ который сами все нарисуют)
 +  * В заданиях с форматом PNG разрешается использовать стороннюю библиотеку для сжатия изображения,​ например,​ libpng. Подробнее:​ https://​github.com/​moevm/​pr1-examples/​tree/​master/​libpng
courses/programming/rules_extra_kurs.1519648854.txt.gz · Last modified: 2022/12/10 09:08 (external edit)