Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
prog_labs.DOC
Скачиваний:
5
Добавлен:
29.04.2019
Размер:
514.56 Кб
Скачать

Лабораторна робота №7 (заняття №15-16)

Тема занять: Структури та об’єднання в С.

Завдання: Написати програму згідно варіанта. Результати вивести на екран у зручному для сприйняття вигляді.

  1. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу. Визначити обсяг створеного файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити, визначивши: 1) прізвища студентів, які мають дві та більше двійок за сесію на факультеті ІОТ і вилучити їх; 2) факультет, який на першому курсі має найбільшу кількість відмінників; 3) курс, на якому виключено найбільшу кількість студентів. Результати запитів записати до текстових файлів. Вивести на екран вміст трьох файлів відповідно до запитів у три колонки.

  2. Створити масив структур. Кожна структура складається з таких елементів: викладач або студент, дисципліна. Для викладача задається кількість студентів, у яких треба приймати іспити, кількість лекційних годин з дисципліни. Для студентів задають кількість пропущених занять у годинах з різних дисциплін. Розрахувати середній бал по кожному викладачеві та з дисципліни, якщо 10 % студентів від загальної кількості, які слухають конкретну дисципліну та мають більше 20 пропущених годин, отримають незадовільні оцінки, а інші 10 % студентів отримають відмінні оцінки. Визначити студентів-кандидатів на отримання незадовільних оцінок. Створений масив структур записати до файлу, визначити його розмір, задати йому атрибут "read only". Перейменувати створений файл. Якщо розмір файлу перевищує задане значення, то вилучити зайві елементи файлу, скасувавши заданий атрибут.

  3. Створити масив структур. Кожна структура складається з таких елементів: фірма, вакантна посада, кількість вакантних місць, вимоги до претендентів на кожну посаду, заробітна платня. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити фірми з найбільшою кількістю вакансій на задану посаду; 2) вивести список вимог до кандидатів на задану посаду по кожній фірмі; 3) створити новий масив із структурою: вакантна посада, заробітна платня. Вакансії вибирати з початкового масиву, виключаючи повторення однакових вакантних посад. На випадок різної платні на однакових посадах у різних фірмах включити у масив середню заробітну платню; Результати запитів записати до текстових файлів. За запитом користувача зробити злиття файлів результатів до одного файлу. Усі виключні ситуації (запис не знайдено, файл не знайдено, файл не відкрито тощо) записати в окремий файл протоколу виключних ситуацій. Підрахувати кількість записів у файлі.

  4. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити факультет і курс з максимальною кількістю відмінників; 2) вивести список відмінників; 3) знайти групу, де немає двієчників. Результати запитів записати до текстових файлів. Визначити кількість їх рядків. Задати файлу атрибут "read only". Якщо відмінників немає, то скорегувати файл, який містить відомості про відмінників, задавши потрібні дані.

  5. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити, визначивши: 1) факультет і курс, на якому середній бал не менше 3.5; 2) прізвища студентів, що не мають трійок і двійок; 3) факультет і групу, де найбільше відмінників. Результати записати до текстових файлів, першим рядком яких буде назва запиту. Визначити час створення файлів із запитами. Надрукувати файли із запитами у три колонки: кожний запит у окрему колонку. Подати статистику: кількість символів, кількість рядків, кількість речень у кожній колонці.

  6. Створити масив структур. Кожна структура складається з таких елементів: місто, інститут, факультет, список спеціальностей, план прийому на перший курс. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Зробити копію файлу, що містить масив структур. Реалізувати запити, визначивши: 1) список спеціальностей, що містять у своїй назві слова "комп'ютерний" або "автоматизований"; 2) факультети й інститути, де є задана спеціальність; 3) факультет, інститут і місто, де на вказану користувачем спеціальність виділено найбільше місць. Записати результати до файлів (кожний запит у окремий файл). Об'єднати три файли в один для виведення на екран. З копії файлу вилучити записи, що не містять дані про задану спеціальність.

  7. Створити масив структур, кожна з яких складається з наступних елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити прізвища студентів, групу і факультет, де середній бал студентів 4.5; 2) вилучити прізвища студентів першого курсу, які мають три двійки; 3) відсортувати назви факультетів за умови зростання успішності студентів. Результати запитів записати до текстових файлів, першим рядком яких буде назва запиту. Здійснити пошук довільного рядка у файлах за поданням користувача і вивести знайдений рядок на екран.

  8. Створити масив структур. Кожна структура складається з таких елементів: марка автомобіля, тип (вантажний або легковий), номерний знак, строк служби. Для легкових вказується колір, для вантажних - вантажність. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити номерні знаки автомобілів, вантажність котрих не менше за задану; 2) вивести марки автомобілів заданого типу і вказаного кольору; 3) вилучити з файлу відомості про автомобілі, строк служби яких перевищує п'ять років. Результати запитів записати до файлу. Вилучити з файлу відомості про автомобілі, вантажність котрих дорівнює заданій.

  9. Створити масив структур. Кожна структура складається з таких елементів: прізвище абонента, номер телефону, адреса, заборгованість по оплаті. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити прізвища абонентів, що мають заборгованість по оплаті більше заданої користувачем; 2) вилучити прізвища абонентів, адреса яких змінилася; 3) замінити номер телефону заданого абонента. Результати записати до файлу. Виконати пошук у файлі заданого прізвища, номера телефону. Визначити номер байта у файлі, з якого починається найдений запис. Впорядкувати записи у файлі за прізвищами.

  10. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити, визначивши: 1) кількість відмінників на першому і другому курсах по всіх факультетах; 2) групи, в яких немає двієчників; 3) прізвища студентів-відмінників на третьому курсі. Результати записати до текстових файлів. Переформатувати текстові файли на довжину рядка до 60 символів у рядку, вирівняти рядки по ширині та вивести на друк.

  11. Створити масив структур. Кожна структура складається з таких елементів: фірма, найменування товару, що продається, вартість, термін поставки товару. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити фірми, що постачають заданий товар у дводенний строк; 2) визначити назву товару в заданій фірмі, вартість якого не перевищує заданого значення; 3) впорядкувати масив за умови зростання термінів постачання товару. Результати записати до текстового файлу. Скорегувати отриманий файл, вилучивши записи, що містять задані користувачем товари. Передбачити у програмі відображення текстового файлу за допомогою будь-якого текстового редактора.

  12. Створити масив структур. Кожна структура складається з таких елементів: прізвище викладача, дисципліна, прізвище студента. Для викладача задається вчене звання, для студента - середній бал. Задається сумарний стипендіальний фонд, значення якого зчитують з файлу. Стипендію нараховують студентам з середнім балом не нижче 4.5, кожні 0.1 бала після 4.5 збільшують стипендію на 10 %. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) визначити студентів, яким нарахована стипендія та її розмір; список таких студентів зберегти у окремому масиві; 2) визначити дисципліни та викладачів, показники успішності в яких найнижчі; 3) вивести список викладачів-доцентів. Результати запитів записати до текстового файлу. За запитом користувача здійснити пошук зроблених файлів на дисках.

  13. Створити масив структур. Кожна структура складається з таких елементів: інститут, факультет, список спеціальностей, план прийому на перший курс, прохідний бал. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) скласти список спеціальностей по факультетах із вказаним прохідним балом; 2) впорядкувати масив за прохідним балом і планом прийому; 3) визначити інститут із вказаним середнім прохідним балом. Результати записати до текстового файлу. Визначити розмір файлу та розділити його на три файли відповідно до запитів. Визначити розмір створених текстових файлів.

  14. Створити масив структур. Кожна структура складається з таких елементів: номер авіаційного рейсу, тип літака, дата відльоту, кількість вільних місць, вартість квитка. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу та їх редагування. Реалізувати запити: 1) скласти список номерів авіаційних рейсів, на які є вільні місця; 2) вивести типи літаків і відповідні номери авіаційних рейсів на задану дату; 3) упорядкувати масив за умови зростання вартості квитків по кожній даті. Результати записати до окремих текстових файлів та об'єднати їх в один текстовий файл, який містить такі відомості: номери рейсів з вільними місцями, типи відповідних літаків, вартість квитків. Записи відсортувати за ціною квитків.

  15. Створити масив структур. Кожна структура складається з таких елементів: напрямок руху, номер авіаційного рейсу, типи літаків, кількість посадкових місць, вартість квитка, льотні дні на тиждень. Створений масив структур записати до файлу та передбачити операції додавання до нього записів і їх редагування. Реалізувати запити: 1) визначити номери авіаційних рейсів заданого напрямку з мінімальною вартістю квитків; 2) визначити типи літаків і сумарну кількість посадкових місць у заданому напрямку по днях тижня; 3) вилучити з масиву відомості про рейси, якщо кількість польотів на тиждень менше двох. Результати записати до файлів, тип яких визначає користувач. Здійснити пошук вказаних користувачем даних у файлах результатів, вивести знайдені дані на екран.

  16. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу. Передбачити операції додавання до файлу записів і їх редагування. Реалізувати запити, визначивши: 1) групи на першому і другому курсах, в яких більше п'яти відмінників; 2) факультети, де немає двієчників; 3) прізвища студентів, що не з'явилися хоча б на один іспит (оцінка 0). До текстового файлу записати результати, що містять відомості про факультети, де немає двієчників, мають п'ять і більше відмінників на першому та другому курсах. Окремими записами вивести у файл прізвища студентів, що не з'явилися на іспити. Визначити розмір файлів і вивести текстовий файл на екрані.

  17. Створити масив структур. Кожна структура складається з таких елементів: прізвище абонента, номер телефону, адреса, вид оплати (щохвилинна чи абонементна), вартість оплати. Створений масив структур записати до файлу. Передбачити операції додавання до файлу записів і їх редагування. Реалізувати такі операції: 1) доповнити масив прізвищами абонентів, номери телефонів яких починаються на задані цифри; 2) видати список абонентів з щохвилинною оплатою, сума оплати у яких нижче заданого рівня; 3) визначити номер телефону абонента за заданою адресою. Доповнити файл новими записами до заданого користувачем розміру файлу, а якщо розмір файлу більший за вказаний, то вилучити зайві записи. Вивести на екран з файлу будь-який запис за заданим користувачем номером.

  18. Створити масив структур. Кожна структура складається з таких елементів: напої та шоколадні вироби; їх калорійність, вартість. Для напоїв вказати міцність, для шоколадних виробів - вагу, начинку. Створений масив структур записати до файлу. Передбачити операції додавання до файлу записів і їх редагування. Реалізувати запити: 1) визначити список шоколадних виробів, що мають максимальну вагу і задану начинку; 2) вилучити з масиву інформацію про алкогольні напої; 3) скласти меню з напоїв і шоколадних виробів, що відповідають заданій калорійності та вартості. Записати до текстового файлу різні варіанти меню, пронумерувати і підрахувати їх кількість. Під час спроби запису варіанта меню, номер якого більший за введену користувачем кількість дозволених варіантів меню, вивести повідомлення та припинити запис до файлу.

  19. Створити масив структур. Кожна структура складається з таких елементів: продукт, ціна продукту, рівень корисності продукту (функцію корисності задати у довільному вигляді), прибуток споживача. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу і їх редагування. Реалізувати запити, визначивши: 1) продукти заданого рівня корисності, які може придбати споживач при заданому прибутку; 2) сумарну вартість продуктів з максимальним рівнем корисності; 3) споживачів, прибутків яких не вистачає для придбання продуктів за заданою ціною і рівнем корисності. Результати записати до текстових файлів. Зробити копію останніх N рядків кожного файлу, записавши їх у новий файл. У рядках, що копіювалися, знайти рядки, що мають дані, які збігаються з даними інших файлів і вилучити їх.

  20. Створити масив структур. Кожна структура складається з таких елементів: місто, інститут, факультет, список спеціальностей, план прийому на перший курс, прохідний бал. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу і їх редагування. Реалізувати запити, визначивши: 1) список міст, де знаходяться політехнічні інститути; 2) інститути і факультети, де приймають студентів на перший курс за заданою користувачем спеціальністю; 3) факультет, інститут і місто, де на вказану користувачем спеціальність існує найвищий прохідний бал. Записати до файлів результати першого та останнього запитів. Якщо назва міст у першому та другому файлах результатів збігається, то в окремий файл записати назви міст. Визначити кількість таких міст і розмір отриманого файлу.

  21. Створити масив структур. Кожна структура складається з таких елементів: факультет, прізвища студентів, прізвища викладачів. Для студентів вказують стипендію і середній бал. Для викладачів - посаду і заробітну плату. Створений масив структур записати до файлу. Передбачити операції додавання записів до файлу і їх редагування. Реалізувати запити, визначивши: 1) список студентів по факультетах з найнижчим середнім балом і стипендією; 2) кількість викладачів-доцентів на заданому факультеті; 3) сумарний фонд стипендії і зарплати на заданому факультеті. У окремий файл записати прізвища всіх студентів і викладачів, упорядкувавши їх за алфавітом в межах списку студентів і окремо подати алфавітний список викладачів. Якщо є однофамільці, то записати їх окремими записами до іншого файлу, тип якого обирає користувач. Визначити розмір і дату створення файлів.

  22. Створити масив структур. Кожна структура складається з таких елементів: назва фірми, продукт, що продається - комп'ютери і програмне забезпечення, регіон збуту, вартість продажу, термін постачання. Створений масив структур записати до файлу. Передбачити операції додавання записів до нього і їх редагування. Реалізувати запити, визначивши: 1) список комп'ютерів, що продаються у заданому регіоні конкретною фірмою; 2) вартість проданого програмного забезпечення у задані терміни; 3) най рентабельніші фірми (з найбільшою вартістю продажів). Результати запитів запишіть до текстового файлу та зробити його копію. Перейменувати один з файлів і визначити час його створення. Вилучити з одного файлу дані про вказані користувачем типи комп'ютерів.

  23. Створити масив структур. Кожна структура складається з таких елементів: прізвище студента, курс, середній бал. Для студентів контрактної форми навчання вказується вартість контракту, а для студентів, що навчаються за бюджетною формою - розмір стипендії. Створений масив структур записати до файлу, передбачити операції додавання до нього записів і їх редагування. Реалізувати такі операції: 1) визначити прізвища студентів із середнім балом вище четвірки, надрукувати окремо студентів контрактної та бюджетної форм навчання; 2) вилучити дані про студентів бюджетної форми з файлу, якщо їх середній бал нижче трійки; 3) вивести список студентів контрактної форми і суму їх контрактів. Результати запитів записати до файлів. Замінити у файлах суму контрактів, якщо вона менше за задану користувачем.

  24. Створити масив структур. Кожна структура складається з таких елементів: виріб, матеріал. Для матеріалу задають норму видатку на виріб, купівельну вартість. Для виробу задають кількість та податок на додану вартість (ПДВ). Створений масив структур записати до файлу і передбачити операції додавання до нього записів і їх редагування. Реалізувати такі операції: 1) підрахувати ціну виробу, виходячи з вартості матеріалу і ПДВ; 2) визначити прибуток від реалізації виробів; 3) створити масив: виріб, ціна, ПДВ. Результати запитів записати до файлів. Упорядкувати вказаний користувачем файл за ціною або прибутком. Установити атрибут файлу "read-only". Спробувати видалити такий файл і видати повідомлення про його захист.

  25. Створити масив структур. Кожна структура складається з таких елементів: книги, журнали. Для книжок задають назву, прізвище автора, рік видання. Для журналів - назву, номер, рік видання, назву статті, автора. Створений масив структур записати до файлу. Передбачити операції додавання до файлу записів і їх редагування. Реалізувати запити: 1) вивести авторів, які друкувалися у вказаному році та їх праці; 2) визначити журнал, рік видання вказаної статті; 3) вивести кількість статей заданого автора і журнали, у яких він друкувався. Створити протокол роботи програми, записавши до текстового файлу всі команди, виконані користувач у процесі роботи з програмою. Визначити розмір файлу, перейменувати його, задавши нове ім'я.

  26. Створити масив структур. Кожна структура складається з таких елементів: прізвище викладача, дисципліна, прізвища студентів, що вивчають конкретну дисципліну. Для викладача задають посаду, заробітну плату, для студента - середній бал і стипендію. Створений масив структур записати до файлу. Передбачити операції додавання до файлу записів і їх редагування. Реалізувати такі запити: 1) визначити викладачів і дисципліни з середніми балами менше заданого; 2) вилучити студентів, середній бал яких нижче за трійку; 3) визначити стипендіальний фонд студентів (кількість студентів, що отримають стипендію, помножену на розмір стипендії), які вивчають задану дисципліну. Результати записати до текстового файлу та визначити його розмір. Розділити отриманий файл на три файли відповідно до запитів. Назви файлів генерує користувач враховуючи дату та час створення файлів.

  27. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки, стипендія. Створений масив структур записати до файлу, передбачити операції додавання до нього записів і їх редагування. Реалізувати запити, визначивши: 1) прізвища студентів, що мають стипендію, їх середній бал; 2) факультет, на якому на першому курсі найбільша кількість груп студентів, що не мають двійок; 3) курс з найбільшою кількістю відмінників. Результати записати до текстового файлу. Стипендіальний фонд на всіх студентів зберігають у окремому файлі. У процесі розрахунку стипендії використовувати шкалу успішності, яка знаходиться у тому ж файлі. Якщо під час розподілу стипендії серед студентів є залишок грошей, то вивести повідомлення про це. Результати запитів запишіть до текстових файлів. Кількість файлів визначає користувач. Для визначення назв файлів, у які здійснюється запис, передбачити діалоговий режим.

  28. Створити два масиви структур: перший масив - факультет, курс, спеціальність, другий - курс, спеціальність, група, кількість студентів у групі. Створити новий масив: факультет, курс, спеціальність, група, кількість студентів у групі. Створені масиви структур записати до файлів, передбачити операції додавання до нього записів і їх редагування. Реалізувати запити, визначивши: 1) кількість груп заданої спеціальності; 2) факультет з максимальною кількістю студентів. Записати результати запитів до файлу. Перелік факультетів і спеціальностей зберігається у окремому файлі. При введенні даних про факультет і спеціальність провести перевірку значень на відповідність нормативним даним довідкового файлу. На випадок уведення даних, відмінних від тих, що є в нормативній базі, вивести повідомлення.

  29. Створити масив структур. Кожна структура складається з таких елементів: факультет, курс, група, прізвища студентів, екзаменаційні оцінки. Створений масив структур записати до файлу, передбачити операції додавання до нього записів і їх редагування. Реалізувати запити, визначивши: 1) кількість факультетів, де середній бал студентів від трьох до чотирьох; 2) видалити прізвища студентів-двієчників другого курсу факультетів, середній бал яких вище 3.5; 3) упорядкувати масив структур за умови зростання середнього бала на факультеті ФІОТ. Результати запитів записати до текстового файлу, потім змінити його формат, додавши номер сторінки. Довжина та ширина сторінки повинні відповідати формату А4.

  30. Створити масив структур. Кожна структура складається з таких елементів: місто, фірма, продукт, кількість продукту, ціна одиниці продукту, вартість продуктів. Створений масив структур записати до файлу, передбачити операції додавання до нього записів і їх редагування. Знайти фірму та продукт у файлі за введеними значеннями. Скопіювати файл, визначити його розмір і дескриптор. Реалізувати запити: 1) визначити місцезнаходження фірми, що виробляє заданий продукт; 2) визначити сумарну вартість продуктів, що виробляються у даному місті; 3) упорядкувати список продуктів за ціною для даного міста. Результати запитів записати до текстового файлу. Вивести файли на екран та їх розмір у байтах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]