| 
                Лабораторный практикум по основам языка C/С++ | 
               
Индивидуальные задания к лабораторной работе № 4
Разработать программу на языке Си для следующих заданий.
Для второго задания допускается закрытие и повторное открытие файла в измененном режиме, если студентсчитает, что это требуется для выполнения задания.
| Номер | Текст задания | 
|---|---|
| Вариант 1 | |
| 1. |  
     Получить от пользователя строку текста и 
	 вставить вместо каждого пробела восклицательный знак.
	 Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | 
  Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк).
  Подсчитать количество слов в каждой строке текста.
  Записать в новый файл все строки, закончив их полученным числом.
   Например: Это пример строки текста в старом файле (7) 
   | 
 
| 3. | 
     
		 Описать структуру с именем AEROFLOT, содержащую следующие поля: 
 NUMR – номер рейса (целое число); Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 2 | |
| 1. |  
    Получить от пользователя строку текста и 
	подсчитать количество символов в тексте. Вывести полученное значение на экран.
	Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Вставить перед каждым восклицательным знаком вопросительный. Записать измененные строки в новый файл. | 
| 3. |  
   Описать структуру с именем WORKER, содержащую следующие поля: 
SALARY – оклад; Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 3 | |
| 1. | 
   Получить от пользователя строку текста и 
   подсчитать количество точек в строке.
   Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Променять местами четные и нечетные строки текста. Записать измененные строки в новый файл. | 
| 3. |  
 Описать структуру с именем TRAIN, содержащую следующие поля: 
 NUMR — номер поезда; Написать программу, выполняющую следующие действия; 
  | 
 
| Вариант 4 | |
| 1. | 
   Получить от пользователя строку текста и 
		Подсчитать количество пробелов в строке.
		 Вывести полученное значение на экран.
	Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Найти самую короткое предложение текста и заменить её фразой "С новым годом!". Записать измененный текст в новый файл. | 
| 3. |  
  
		
		  Описать структуру с именем MARSH, содержащую следующие поля: 
NUMER – номер маршрута; Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 5 | |
| 1. | 
   Получить от пользователя строку текста и 
  подсчитать количество двойных пробелов.
  		 Вывести полученное значение на экран.
	Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Найти самую длинную строку текста и заменить её пустой строкой. Записать измененный текст в новый файл. | 
| 3. |  
 Описать структуру с именем NOTE, содержащую следующие поля: 
NAME — фамилия, имя;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 6 | |
| 1. | 
   Получить от пользователя строку текста и 
   выделить из строки все числа.
   Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Поменять местами самую длинную и самую короткую строки текста. Записать измененный текст в новый файл. | 
| 3. |  
 
	 Описать структуру с именем ZNAK, содержащую следующие поля: 
TIME – время рождения (массив из двух чисел); Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 7 | |
| 1. | 
   Получить от пользователя строку текста и 
  найти самое длинное слово текста.
  Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Добавить в начало каждой строки текста её номер и пробел. Записать измененный текст в новый файл. | 
| 3. |  
 Описать структуру с именем ORDER, содержащую следующие поля: 
PLAT – расчетный счет плательщика ();  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 8 | |
| 1. | 
    Получить от пользователя строку текста и 
  Подсчитать количество восклицательных знаков в строке.
  Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Записать в конец этого же файла таблицу с указанием трех наиболее часто встречающихся слов и количества их повторений в строке. | 
| 3. |  
 Описать структуру с именем WIZARD, содержащую следующие поля: 
MANA – количество магической маны;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 9 | |
| 1. | 
    Получить от пользователя строку текста и 
  Определить, содержит ли строка хотя бы пару соседних одинаковых слов.
  Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Записать в новый файл этот же текст и таблицу с указанием, сколько раз встретилась в каждой строке указаная пользователем буква латинского алфавита и пробел | 
| 3. |  
 Описать структуру с именем TRACK, содержащую следующие поля: 
 MODEL – марка боевой машины;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 10 | |
| 1. | 
   Получить от пользователя строку текста и 
  Определить общую длину слов на нечётных позициях в строке.
  Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Вывести в конец этого же файла таблицу с указанием количества слов, начинающихся с одной и той же буквы. | 
| 3. |  
  Описать структуру с именем CHESSPEICE, содержащую следующие поля: 
COST – "стоимость" фигур в пешках;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 11 | |
| 1. | 
    Получить от пользователя строку текста и 
  Определить количество знаков, не являющихся буквами или числами.
   Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Перевести в верхний регистр все слова четных строк. И записать результат в новый файл. | 
| 3. |  
  
		
		  Описать структуру с именем PLANET, содержащую следующие поля: NAME – название планеты;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 12 | |
| 1. | 
     Получить от пользователя строку текста и 
   Перевести в верхний РЕГИСТР символы всех слов на четных позициях.
   Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Определить количество предложений в тексте, учитывая, что предложение заканчивается точкой, вопросительным или восклицательным знаком. Вывести сводную таблицу в этот же файл. | 
| 3. |  
 Описать структуру с именем BUTTON, содержащую следующие поля: 
 TEXT – Текст, расположенный на кнопке;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 13 | |
| 1. | 
   Получить от пользователя строку текста и 
  определить, сколько вопросительных знаков, в строке
   Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Добавить в начало каждого предложения текста его номер и пробел. Вывести результат в новый файл. | 
| 3. |  
  Описать структуру с именем PLANET, содержащую следующие поля: NAME – название планеты;  Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 14 | |
| 1. | 
    Получить от пользователя строку текста и 
   Променять местами первое и последнее слова в  строке.
Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Определить количество пробелов в нечётных строках текста Вывести сводную таблицу в конце этого же файла. | 
| 3. |  
  
		 Описать структуру с именем ZNAK, содержащую следующие поля: 
TIME – время рождения (массив из двух чисел); Написать программу, выполняющую следующие действия: 
  | 
 
| Вариант 15 | |
| 1. |  
    Получить от пользователя строку текста и 
   Променять местами первое слово, начинающееся с гласной бьуквы и последнее слово,
   начинающееся с согласной буквы.
Повторять до тех пор, пока не встретится строка завершающаяся словом quit
    | 
 
| 2. | Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк). Выделить все числа из текста и подсчитать их сумму и среднее. Вывести результат в конце этого же файла. | 
| 3. |  
   Описать структуру с именем WORKER, содержащую следующие поля: 
SALARY – оклад; Написать программу, выполняющую следующие действия: 
  |