Требования к формату входных и выходных данных для курсовой работы. Осень

Общие требования

Вывод программы должен быть произведен в стандартный поток вывода: stdout.

Ввод данных в программе в стандартный поток ввода: stdin.

В случае использования Makefile название исполняемого файла должно быть: cw.

Важно: первой строкой при запуске программы нужно выводить информацию о варианте курсовой работе и об авторе программы в строго определенном формате: Course work for option <V>, created by <Name> <Surname>. Где V – вариант курсовой и Имя и Фамилия, как указано в репозитории группы. Данное предложение должно быть строго первым предложением в выводе программы и является отдельной строкой (заканчивается знаком ‘\n’). Например: Course work for option 3.2, created by Ivan Ivanov.

Требования к вводу данных

После вывода информацию о варианте курсовой работе программа ожидает ввода пользователем числа – номера команды:

0 – вывод текста после первичной обязательной обработки (если предусмотрена заданием данного уровня сложности)

1 – вызов функции под номером 1 из списка задания

2 – вызов функции под номером 2 из списка задания

3 – вызов функции под номером 3 из списка задания

4 – вызов функции под номером 4 из списка задания

5 – вывод справки о функциях, которые реализует программа.

Программа не должна выводить никаких строк, пока пользователь не введет число.

В случае вызова справки (опция 5) текст на вход подаваться не должен, во всех остальных случаях после выбора опции должен быть считан текст.

Признаком конца текста считается два подряд идущих символа переноса строки ‘\n’. После каждой из функций нужно вывести результат работы программы и завершить программу.

В случае ошибки и невозможности выполнить функцию по какой-либо причине, нужно вывести строку: Error: <причина ошибки>

Программа курсовой работы осеннего семестра должна завершать работу штатно, без кодовой индикации ошибки (даже в случае вывода сообщения Error: <причина ошибки> ).

Требования к выводу данных

Все символы пробелов и подобных им (например, символы табуляции) в начале предложения должны быть удалены

Не должно быть никаких символов после конца предложения (точки)

Каждое предложение нужно выводить на отдельной строке (заканчивается символом \n)

Все остальные символы должны остаться в сохранности. Например, если в середине предложения между словами стоит табуляция, то и при выводе там тоже должна стоять табуляция

Первичная обязательная обработка текста

Данная функция под номером 0 обязательна для курсовых сложности «Хорошо» и «Отлично». Функция выполняет следующие действия

Находит и удаляет все повторно встречающиеся предложения (посимвольное сравнение без учёта регистра)

Выводит считанный текст согласно разделу Требования к выводу данных

Никакие дополнительных модификаций текста не требуются

Требования к сборке курсовой работы

Сборка должна осуществляться одним из следующих способов:

Сборка курсовой работы через gcc

Сборка курсовой работы через make

В разработке находится способ сборки через cmake