Skip to content

Neprincessa/Lab1_2nd_semester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lab1

Коллекция: «Строка»

Типы хранимых данных:

  1. Строки
  2. Символы С коллекцией «Строка» в данной программе возможно выполнение следующих функций:
  3. Конкатенация двух строк
  4. Выделение символов в строке
  5. Выделение слов в строке Суть работы функций:
  6. Конкатенация строк. Пользователь выбирает любые две строки из уже введённых, программа выводит новую строку, состоящую из двух выбранных.
  7. Выделение символов в строке. Пользователь выбирает строчку, из которой будут выделяться элементы, и вводятся диапазон элементов, которые надо выделить.

Техническое задание:

  1. Создать заголовочный файл Header.h и файл с реализациями Main.c и Functions.c
  2. Объявить структуру Array
  3. Написать функции работы со строками Concat, Selection, DividedWords, InputArray.
  4. Написать функции работы с памятью Alloc, FreeStr, FreeTest

Пользовательский интерфейс:

В начале работы программы пользователь выбирает режим работы: если он нажимает «1», то будут вводиться и считываться одиночные символы; если он нажимает «2», то будут вводиться строки; если он нажимает «3», то программа переходит в режим тестирования (подробнее о режиме сказано дальше). Следует отметить, что в программе установлена проверка введенных данных: проверяется тип введенных данных (символ или цифра) и, если введено число, не превышает ли оно 3 (максимальный номер режима). Исходя из выбранного режима, задается максимальная длина: если режим работы с символами – максимальная длина равна 1; если режим работы со строками – максимальная длина устанавливается дальше пользователем (также стоит проверка на тип введённых данных); если режим тестировки, то максимальная длина – 26 (Это получается из сложения длин константных строк. Подробнее сказано далее). Если режим не тестировочный, то пользователь задаёт число элементов. Для начала следует отметить общие черты работы функций для строк и для символов: если число элементов равно единице, то конкатенация это есть сложение введённого элемента самого с собой. При выделении слов из строки пользователь не выбирает номер элемента; при выделении символов пользователь задаёт диапазон только в том случае, если максимальная длина не равна единице. Строка «Введите номера элементов, которые надо сложить», «Первый индекс», «Второй индекс» требуют от пользователя номера двух строк, которые пользователь хочет сложить. Если номер строки равен 0, или превышает максимальное число элементов, или пользователь ввёл символы, а не числа, то программа уведомит его об этом и попросит ввести корректно данные ещё раз. Так будет продолжаться до тех пор, пока не будут получены корректные данные. Строка «Введите номера строчки, из которой хотите выделить элементы» требует от пользователя номер строчки, из которой будут выделяться символы. Если введенное число больше количества элементов, или равно 0, или является символом, то программа уведомит пользователя об этом и попросит ввести данные заново. Далее программа запрашивает два индекса, которые задают диапазон выделяемых символов. Важно, что программа так же будет проверять корректность введенных индексов: тип данных, не превышают ли они длину текущей строки, является ли второй индекс меньше первого. Строка «Введите номер строки, из которой хотите выделить слова» требует от пользователя номер строки, из которой будут выделяться слова. Проверка введенных данных аналогичная: тип данных, превышает или нет количество элементов.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages