Процедурное программирование на языке С. Часть 3. Файлы и структуры: Методические указания к лабораторным работам по курсам «Алгоритмические языки и программирование» и «Процедурное программирование», страница 5

Вариант 15. Требуется выбрать те типы сырья,  в котором содержится более  40% меди и более 45%  цинка.  Исходные данные –  в файле name7-15.txt с информацией о типе сырья,  процентном содержании в нем меди  и  цинка. Файл состоит из m строк, каждая i-ая строка содержит наименование i-го типа сырья,  процентное содержание в нем меди, процентное содержание  в нем цинка. Определить число m,  равное количеству строк в файле. Динамически выделить память и заполнить данными из файла m структур с шаблоном из  3-х полей:

·  1-ое поле i-ой структуры содержит наименование i-ого типа сырья;

·  2-ое  поле i-ой структуры – процентное содержание меди в сырье i-ого типа;

·  3-е  поле i-ой структуры – процентное содержание цинка в сырье i-ого типа;  

Перебрав вторые  и третьи поля всех структур,  определить сырье,  в котором содержится более 40%  меди и более 45%  цинка.   Выходной файл name7-15.out   содержит  информацию о таких типах сырья.

Пример файла name7-15.txt

Тип_сырья_1  14 67

Тип_сырья_2  27 34

Тип_сырья_3  54 50

Тип_сырья_4  45 60

Тип_сырья_5  44 37

Тип_сырья_6  24 78

Тип_сырья_7  47 55

Вариант 16. Исходные данные  –  в файле name7-16.txt,  содержащем информацию  об общей кассе. Файл состоит из m строк. В каждой строке –  фамилия, сумма денег, знак "+" или "-",  номер телефона. Знак "-" означает, что человек с соответствующей фамилией является должником. 

Прежде всего определить значение  m,  равное количеству строк в исходном файле. Динамически выделить память и заполнить данными из файла m структур с шаблоном из  4-х полей:

·  1-ое поле i-ой структуры содержит фамилию, записанную в i-ой строке файла;

·  2-ое  поле i-ой структуры – число (сумму денег) в i-ой строке файла;

·  3-е  поле  – индикатор долга (знак "+" или "-"),  записанный в i-ой строке файла;  

·  4-ое  поле  – номер телефона,  записанный в i-ой строке файла;  

Перебрав 3-и поля всех структур, определить должников и вывести в файл  name7-16.out информацию о них: фамилии, суммы долга, телефоны. Каждая строка файла name7-16.out содержит информацию об одном должнике.

Пример файла name7-15.txt

Леонтьев  589 + 123-56-78

Львова 400 - 234-56-32

Норкин 985 + 301-45-89

Очков 345 - 936-45-86

Писарев 1000 + 238-45-96

Селютин 785 - 144-54-71

Семенов 1000 + 189-54-30

Филинов 427 + 953-48-11

Вариант 17. Исходные данные  –  в файле name7-17.txt. Файл состоит из m строк, каждая i-ая строка содержит наименование i-го продукта, стоимость одного килограмма,  вес,  знак "+" или "-".  Знак "+" означает,  что соответствующий продукт следует купить.

Определить  m , далее динамически выделить память и заполнить данными из файла m структур с шаблоном из  4-х полей:

·  1-ое поле i-ой структуры содержит наименование продукта из i-ой строки файла;

·  2-ое  поле  – число (стоимость одного килограмма) из i-ой строки файла ;

·  3-е  поле  – число (вес продукта) из i-ой строки файла; 

·  4-ое  поле  – индикатор необходимости покупки  продукта (знак "+" или "-"),  записанный в i-ой строке файла.

Перебрав 4-ые поля всех структур, определить содержание покупки:  ее общий вес и стоимость. Вывести в файл name7-17.out перечень продуктов,  которые следует купить, их общий вес и общую стоимость.

Вариант 18. Исходные данные  –  в файле name7-18.txt,  который состоит из одной строки, содержащей m слов. Известно, что в каждом слове не более   10 символов, среди которых не менее 1 буквы. 

Определить  m, далее динамически выделить память и заполнить данными из файла m структур с шаблоном из  2-х полей:

·  1-ое поле i-ой структуры содержит  i-ое слово из файла;

·  2-ое  поле  – число, составленное из всех цифр  i-ого слова; значение поля – 0, если в данном слове цифры отсутствуют;