Всем привет, продолжаем решать задачки в образовательном канале Peer Education!
Дедлайн задач увеличен, как и их количество.
Начнем с очень простой задачи, подобной "I`m groot".
Задача 1. Уровень easy. В директории data-samples находится файл с базой данных. Вам необходимо любыми подручными средствами прочитать строку с id = 7 в таблице Students и написать программу для вывода на экран этой строки в формате id name age email. Вы можете пользоваться любыми инструментами для чтения строки из базы данных. Сборка проекта должна осуществляться с помощью Makefile, стадия сборки show_str. Бинарник должен компилироваться в папку bin и называться show_str.
Пара задач на строки поможет вам закрепить темы строк и работы с массивами.
Задача 2. Уровень easy. Реализовать программу для замены пробелов между словами. На вход подается строка, далее через перенос строки новый разделитель. Например: mama papa\n# -> mama#papa. Если строка состоит из одного слова, разделитель не нужен. Сборка проекта должна осуществляться с помощью Makefile, стадия сборки change_separator. Бинарник должен компилироваться в папку bin и называться change_separator.
Задача 3. Уровень easy. Реализовать программу для бинарного уменьшения строк. На вход подается строка состоящая из одного слова. Необходимо вывести на экран: строку, половину строки, четверть строки и т.д., последний вывод должен содержать один символ. При уменьшении строки двигайтесь к началу строки. Например: abrakadabra -> abrakadabra\nabraka\nabr\nab\na. Если длина строки нечетная, то всегда используйте округление вверх. 11/2 = 6. Сборка проекта должна осуществляться с помощью Makefile, стадия сборки binary_div. Бинарник должен компилироваться в папку bin и называться binary_div.
Ну что, дождались по-настоящему интересной задачи? Поработаем с настоящей базой данных прямо из нашей программы.
Задача 4. Уровень medium. Необходимо реализовать api для подключения к базе данных, которая лежит в директории data-samples. На вход программе подаются команды: SHOW\n{id}, SHOWALL, ADD\n{name age email}, REMOVE\n{id}, EXIT. SHOW: вывести на экран в одну строку информацию из базы данных с определенным id. Если записи не существует, вывести сообщение NO DATA. SHOWALL: вывести все записи, отсортированные по id по возрастанию, в формате id name age email, каждая с новой строки. ADD: добавить новую строку в базу данных, id определяется автоматически. REMOVE: удаление записи из базы с определенным id. EXIT: выход из программы. Вывод каждой команды должен заканчиваться переносом строки. Обрабатывать ошибку если база данных пустая не требуется. Сборка проекта должна осуществляться с помощью Makefile, стадия сборки real_db. Бинарник должен компилироваться в папку bin и называться real_db.
Примечание. Sqlite документация
Дедлайн на эти задания Пятница 18:00 22.03.2024!

