
- •Лабораторна робота №1
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості Масиви динамічної пам'яті
- •Приклад виконання завдання 1
- •Лістинг програми
- •Приклад виконання завдання 2
- •Лістинг програми
- •Приклад виконання завдання 3
- •Лістинг програми
- •Контрольні запитання
- •Лабораторна робота №2
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Читання і запис текстових файлів
- •Читання і запис бінарних файлів
- •Відкриття бінарних файлів
- •Файли з послідовним доступом
- •Запис даних у файл з послідовним доступом
- •Файли з довільним доступом
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №3
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості
- •Обмеження доступу до членів класу
- •Специфікатори доступу
- •Вбудовані функції-члени
- •Приклад виконання завдання 1.
- •Приклад виконання завдання 2.
- •Приклад виконання завдання 3.
- •Контрольні запитання
- •Лабораторна робота №4
- •Порядок виконання роботи
- •Завдання 2
- •Теоретичні відомості Конструктори і деструктори
- •Правила роботи з конструкторами і деструкторами
- •Варіант 10. Розробити описовий алгоритм, схему алгоритму і написати метод для підрахування кількості слів в текстовому файлі.
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №5
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Принципи спадкування в ооп
- •Оголошення похідних класів
- •Конструктори похідного класу
- •Функції члени похідного класу
- •Заборонені члени класу (Protected)
- •Приклад виконання Завдання 1
- •Контрольні запитання
- •Лабораторна робота №6
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Перевантаження операторів
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Приклад виконання завдання 3
- •Приклад виконання завдання 4
- •Контрольні запитання
- •Лабораторна робота №7
- •Порядок виконання роботи
- •Завдання 1.
- •Завдання 2.
- •Теоретичні відомості
- •Структура наслідування класів
- •Постановка задачі
- •Розробити клас трикутника, чотирикутника, кола, точки
- •Контрольні запитання
- •Лабораторна робота №8
- •Порядок виконання роботи
- •Завдання 1
- •Контрольні запитання
- •Лабораторна робота №9
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Множинне спадкування
- •Контрольні запитання
- •Лабораторна робота №10
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Шаблони
- •Параметризовані класи
- •Визначені об’єкти-потоки
- •Операції поміщення та вилучення
- •Приклад виконання Завдання з варіанту 2
- •Контрольні запитання.
- •Лабораторна робота №11
- •Порядок виконання
- •Завдання 1
- •Завдання 2
- •Завдання 3 Варіант 1. Задача “Банківське переведення” (дата, час, № рахунку, розмір рахунку).
- •Ітератори
- •Для роботи з вектором необхідно:
- •Приклад роботи з вектором
- •Алгоритми
- •Застосування алгоритмів до вектора
- •Приклад 1 виконання Завдання 1
- •Приклад 2 виконання Завдання 2
- •Приклад 3 виконання завдання №3
- •Контрольні запитання
- •Завдання 1
- •Теоретичні відомості Приклад розробки програми
- •Контрольні запитання
- •Лабораторна робота №13
- •Порядок виконання
- •Завдання 2.
- •Теоретичні відомості
- •Стандартні потоки для базових класів
- •Форматування даних при обмінах з потоками
- •Маніпулятори
- •Приклад розробки програми
- •Контрольні запитання
- •Лабораторна робота №14
- •Порядок виконання
- •Завдання
- •Теоретичні відомості
- •Контрольні запитання
Приклад розробки програми
#include "stdafx.h"
#include "conio.h"
#include <stdlib.h>
#include <fstream>
#include <iostream>
using namespace std;
class Cat
{
public:
Cat(char * my_name, int my_age){age = my_age; strcpy(name, my_name);};
Cat(){age = 0; strcpy(name, "none");};
void Myau(){cout << "\nMyau! I'm cat, my name is " << name << ", my age is " << age;};
private:
int age;
char name[25];
};
void WriteOfstream()
{
char buffer[255];
cout << "\nPut your text: ";
cin.ignore(1, '\n');
cin.getline(buffer, 255);
ofstream fout("text.txt", ios::app);
fout << buffer << "\n";
fout.close();
}
void ReadOfstream()
{
char ch;
cout << "\nFile text:\n";
ifstream fin("text.txt");
while (fin.get(ch))
cout << ch;
fin.close();
}
void WriteCat()
{
int age;
char name[20];
cout << "\nInput cat's name:";
cin >> name;
cout << "\nInput cat's age:";
cin >> age;
Cat cat1(name, age);
cat1.Myau();
ofstream fout("objects.dat", ios::binary | ios::app);
fout.write((char *) &cat1, sizeof (cat1));
fout.close;
}
void ReadCats()
{
ifstream fin("objects.dat", ios::binary);
Cat cat1;
while (fin.read((char *) &cat1, sizeof(cat1)))
cat1.Myau();
fin.close;
}
int main(int argc, char* argv[])
{
int cChoice;
char temp;
int itemp;
const int number = 285;
//system("cls");
do
{
switch(cChoice)
{
case 1:
cout.setf(ios::left);
cout << "\nSIMPLE OUT: ";
cout << "Field_1";
cout << "Field_2";
cout << "\nWIDTH FLAG: ";
cout.width(10);
cout << "Field_1";
cout.width(20);
cout << "Field_2";
cout << "\nFILL FLAG: ";
cout.fill('_');
cout.width(10);
cout << "Field_1";
cout.width(20);
cout << "Field_2";
cout << "\nALIGN FLAG: ";
cout.width(10);
cout << "left" << endl;
cout.width(10);
cout.setf(ios::right);
cout << "right";
cout << "\nTYPE FLAG: ";
cout << "\n\tdec:" << dec << number;
cout << "\n\thex:" << hex << number;
cout << "\n\toct:" << oct << number;
break;
case 2:
WriteOfstream();
break;
case 3:
ReadOfstream();
break;
case 4:
WriteCat();
break;
case 5:
ReadCats();
break;
case 6:
//char_vector.Sort();
break;
default :
//total++;
1;
}
cout <<("\n\n=====================================================\n");
cout <<(":: STL VECTORS LAB ::\n");
cout <<("=====================================================\n");
cout <<(" Type your choice:\n");
cout <<(" [1] Simple COUT\n");
cout <<(" [2] OFSTREAM write to file text.txt\n");
cout <<(" [3] OFSTREAM read from file text.txt\n");
cout <<(" [4] OFSTREAM Make cat and write to objects.dat\n");
cout <<(" [5] OFSTREAM Get cat from objects.dat\n");
cout <<(" [0] Exit\n");
cout <<("=====================================================\n\n");
cin >> cChoice;
} while (cChoice != 0);
return 0;
}
Контрольні запитання
Що таке потік і як він визначається?
Що таке буфер?
Класифікація потоків, що використовуються у програмуванні.
Для чого призначені cin/cout?
Особливості використання бібліотеки потоків.
Особливості операцій вставки та вилучення.
Що таке маніпулятори? Для чого вони необхідні?
Для чого необхідні прапорці у потоках?
Види пріоритетів потоків.
Функції обміну з потоками, які вам відомі.