русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Void main()


Дата додавання: 2014-11-28; переглядів: 754.


{ char *a="A.dat", *b="B.dat", *c="C.dat";

ifstream fa(a);

ofstream fb(b);

fstream fc(c,ios::in|ios::out);

cout << "Дескриптор файлу " << a << " = " << FD(fa)
<< endl;

cout << "Дескриптор файлу " << b << " = " << FD(fb)
<< endl;

cout << "Дескриптор файлу " << c << " = " << FD(fc)
<< endl;

}

 

У прикладі, що наведено нижче, потоки і функція getline з модулю syst.h застосовується для порівняння двох текстових файлів по рядках. Якщо два відповідних рядка не співпадають, вони виводяться на екран. Робота циклу while завершується, якщо рядки хоча б в одному з файлів вичерпано. У програмі застосовується спеціальний рядковий тип string.

 

// Приклад 10

#include <syst.h>

Void main()

{ char infa[60], infb[60];

printf("first file = "); scanf("%s",infa);

printf("second file = "); scanf("%s",infb);

ifstream ina(infa);

ifstream inb(infb);

string sa,sb;

while(getline(ina,sa)&& getline(inb,sb))

if (sa!=sb) { cout << sa << endl;

cout << sb << endl << endl; pause;

}

}

 

 

Вправи

 

Вправа 1

Створити функцію filelen, що приймає як параметр ім'я файлу й повертає його довжину в байтах. Якщо файл не може бути відкритий, функція повинна виводити відповідне повідомлення.

 

Вправа 2

Напишіть програму, яка з’єднує два наданих текстових файла в один. Імена файлів повинні зчитуватися із командного рядка.

 

Вправа 3

Є список виборців, елементом якого є прізвище виборця, його ініціали й, можливо, інші дані. Список розміщений у файлі й довжина списку наперед не відома, довжина рядка не перевищує 200 символів. Скласти програму, що впорядковує список за абеткою по прізвищах і ініціалах. Впорядкований список повинен бути записаний у другий файл. Імена файлів повинні вказуватися в командному рядку. Для програмування операцій з файлами застосувати засоби бібліотеки С (тип FILE*), для подання рядків - одновимірні символьні масиви (тип char*).

 

Вправа 4

Скласти програму, яка розв’язує задачу з попередньої вправи, але для роботи з файлами застосувати потоки, а для подання рядків - стандартний клас string.

 

Вправа 5

Є текстовий файл. Написати функцію, що читає із цього файлу одне наступне слово за умови, що символ- роздільник слова - довільний. Наприклад, якщо символом-роздільником є символ '\n' , функція повинна читати цілий рядок. Для передачі файлу через параметр функції, використати параметр типу FILE*.

 

Вправа 6

Є потік in типу ifstream. Написати функцію, що читає із цього потоку одне слово за умови, що символ- роздільник слова є довільний заданий символ.

Вправа 7

Є текстовий файл, який містить список імен, розділених пропусками. Відберіть з нього паліндрономічні імена ( наприклад Ада, Анна, Аза, Алла ) і запишіть їх в інший файл.

Вправа 8

Напишіть програму, яка зчитує інформацію з текстового файлу та підраховує, скільки

разів зустрічається кожен з таких префіксів слів: над-, від-, пере-, під- .

Вправа 9

В тексті, який міститься в заданому файлі, слова можуть бути відокремлені одне від одного більш ніж одним пропуском. Відредагуйте текст, відокремлюючи слова одним символом пропуску, а речення двома.

Вправа 10

Файл телефонного довідника містить інформацію абонентів: прізвище, ім’я та по-батькові (ПІБ), адреса, рік установки телефону, номер телефону, наявність пільг. Напишіть програму, яка дає змогу модифікувати файл: видаляти введений з клавіатури ПІБ, або змінювати його, або додавати у файл.

 

Вправа 11

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

 

Вправа 12

Файл містить інформацію про відправку поїздів з деякого вокзалу: номер поїзда, станція призначення, час відправлення, час в дорозі, наявність вільних місць. Напишіть програму, яка виводить інформацію про наявність білетів на поїзд з певним номером, коли він відправляється та прибуває в пункт призначення.

Вправа 13

Файл містить інформацію про результати змагань з п’ятиборства деякої групи студентів в такому вигляді: прізвище, ім’я та по-батькові (ПІБ), вид спорту, бал . Напишіть програму, яка виводить інформацію, відсортовану таким чином:

а) по алфавіту;

б) відповідно до спортивних досягнень студента.

 

Вправа 14

Написати програму для порівняння двох текстових файлів. Порівняння повинно виконуватись для кожної пари відповідних рядків. При неспівпаданні рядків на екран повинні виводитися номер поточного рядка та його зміст у першому та другому файлі.

 

Вправа 15

Надано файл та деяка послідовність символів D. Написати програму, яка знаходить кількість входжень послідовності D у наданий файл.

 

Вправа 16

Задача про паралельні резистори: обчислити загальний опір групи паралельно включених резисторів і відносну частку теплової потужності, що виділяється кожним з резисторів. Для збереження значень опорів використати динамічний масив. Вхідні данні зчитувати з файлу, результат записувати також у файл. Формули для розрахунків:

загальний опір R групи резисторів r1, r2, ... , rN:

;

доля теплової потужності, що виділяється k-тим резистором:

.

 

 

Вправа 17

Написати програму, яка виконує копіювання інформації з одного текстового файлу в інший і при цьому символ "." (крапка) всюди змінити на символ "," (кома).

 

Вправа 18

Напишіть програму, яка визначає кількість рядків тексту, що містяться у наданому текстовому файлі. Для програмування операцій з файлом застосувати потоки.

 

Вправа 19

Написати програму, яка виконує копіювання наданого текстового файлу на екран. Передбачити введення імені файлу через командний рядок. Для програмування операцій з файлом застосувати потоки. Створити наступні версії програми:

а) для зчитування символу з файлу застосувати функцію ifstream::get() ;

б) для зчитування символу з файлу застосувати функцію ifstream::get(x) ;

в) для зчитування символу з файлу застосувати операцію добування з потоку ">>". Щоб запобігти пропусків пробілів, застосувати прапор форматування skipws;

г) для зчитування інформації з файлу застосувати функцію ifstream::getline(buff,size).

 

Вправа 20

Написати програму, яка виводить наданий текстовий файл на екран. Ім’я файлу передавати через командний рядок. Застосувати потокові операції та функцію getline(istream&, string&) з модулю syst.h .

 

Вправа 21

Написати програму, яка виконує копіювання інформації з одного файлу в інший. Імена файлів передавати через командний рядок. Якщо ім’я файлу-приймача у командному рядку не вказано, копіювання повинно відбуватися на екран. Для програмування операцій з файлами застосувати потоки.

 

 


<== попередня лекція | наступна лекція ==>
Void main() | Директиви препроцесора


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн