Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
индивидуальные задачи по ООСТ.doc
Скачиваний:
2
Добавлен:
24.11.2019
Размер:
184.83 Кб
Скачать

Тема 5. Основи організації уведення й виводу даних. Користувальницькі функції уведення й виводу об'єктів. Файлове уведення й вивід

5.1. Для класу three_d створіть користувальницьку функцію виводу й користувальницьку функцію уведення:

class three_d {

int x, y, z;

public:

three_d(int i, int j, int k);

three_d() ;

friend ostream &operator<< (ostream &stream, three_d ob);

friend istream &operator>> (istream &stream, three_d &ob);};

5.2. Створіть маніпулятор для виводу чисел у науковій нотації із символом Е в верхньому регістрі. Для класу complex створіть користувальницьку функцію виводу й користувальницьку функцію уведення:

class complex

{ double re; // реальна частина

double im; //мнима частина

public:

complex() {re=0; im=0;}

complex(double i, double j) {re=i; im=j;}

friend ostream &operator<< (ostream &stream, complex ob);

friend istream &operator>> (istream &stream, complex &ob);};

5.3. Напишіть програму для копіювання текстового файлу. У процесі копіювання перетворіть кожний символ табуляції у відповідне число пробілів.

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

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

5.6. Створіть програму, у якій заміняється у файлі заданий символ. Укажіть у командному рядку ім'я файлу, потім номер байта у файлі, що ви хочете змінити, і, нарешті, новий символ для заміни.

5.7. Напишіть програму для копіювання текстового файлу. Ця програма повинна підраховувати число копируемых символів і виводити на екран отриманий результат.

5.8. Створіть програму, у якій уведені із клавіатури рядки зчитуються й записуються у файл. Програма завершується при уведенні знака долара $ як перший символ рядка. Для використання програми в командному рядку задайте ім'я файлу для виводу.

5.9. Створіть програму, у якій копіюється текстовий файл і при цьому пробіли перетворюються в символи «|». Для контролю кінця файлу для уведення використайте функцію eof(). У потоці уведення необхідно скинути прапор skipws. Це запобіжить пропуску пробілів на початку рядків.

5.10. Напишіть програму для виводу значення 1000.5364 в 20-символьному полі, з вирівнюванням уліво, із двома позиціями після коми й символом * як символ заповнення. (Використайте маніпулятори уведення/виводу.)

5.11. Напишіть програму для виводу значення 1000.5364 в 20-символьному полі, з вирівнюванням уліво, із двома позиціями після коми й символом * як символ заповнення. (Використайте прапори формату класу ios.)

5.12. Напишіть програму для виводу числа 100 у десяткової, шістнадцатерічній і восьмеричній системі числення. (Використайте маніпулятори уведення/виводу).

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

5.14. Напишіть програму для виводу пропозиції: "C++ прекрасний" у поле шириною 40 символів з використанням двокрапки (:) як символ заповнення.

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

class account {

int custnum;

char name[80];

double balance;

public:

account(int c, char *n, double b);

// тут потрібна користувальницька функція виводу};

5.16. Складіть інструкцію для виводу числа 100 у шістнадцатерічній системі числення з відображенням підстави системи числення (0х). Для виконання завдання скористайтеся маніпулятором setiosflags().

5.17. Створіть маніпулятори atn() і note(), які забезпечать вивід фраз "Увага" і "Будь ласка, не забудьте".

5.18. Створіть клас box для зберігання розмірів квадрата. Для виводу зображення квадрата на екран створіть користувальницьку функцію виводу. (Спосіб зображення виберіть самостійно.)

5.19. Створіть маніпулятор getpass(), що викликає гудок динаміка й потім пропонує ввести пароль:

5.20. Використовуючи клас stack, створіть користувальницьку функцію виводу для вставки в потік умісту стека. Покажіть, що функція працює.

#define SIZE 10

// Оголошення класу stack для зберігання символів

class stack {

char stck[SIZE]; // містить стек