Класи потокового вводу-виводу

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2006
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „ Львівська політехніка “ Кафедра ІСМ  Звіт про виконання лабораторної роботи № 3 з курсу „Технологія проектування програмних систем” на тему: «Класи потокового вводу-виводу» Мета роботи: вивчення набору класів Borland C++ для керування введенням-виведенням даних різних типів. Порядок роботи 1. Ознайомитися з теоретичним матеріалом по організації потокового введення-виведення інформації. 2. Розробити програму „Робота з масивами даних” на мові С++ з використанням класів потокового та файлового вводу/виводу. 3. Оформити звіт по роботі. Програма та результати її виконання #include <vcl.h> #include <stdio.h> #include <conio.h> #include <iostream.h> #include <fstream.h> class Array { private: int *p; int num; //number of vector elements public: Array(int); Array (const Array&); ~Array(); Array& operator = (const Array&); friend ostream& operator <<(ostream&, Array&); friend istream& operator >>(istream&, Array&); friend ofstream& operator <<(ofstream&, Array&); friend ifstream& operator >>(ifstream&, Array&); int size(void); void read(void); void write(void); void sort(void); }; // constructor Array::Array(int num) { p = new int[num]; this->num = num; } // copy-constructor Array::Array(const Array& a) { p = new int[num]; for (int i=0; i<a.num; i++) p[i] = a.p[i]; } // destructor Array::~Array() { delete []p; } //overloaded operator =(oops...) Array& Array::operator = (const Array& a) { if (this!=&a) { delete []p; p=new int[num=a.num]; for (int i=0; i<a.num; i++) p[i] = a.p[i]; }; return *this; } // ostream overload for output ostream& operator <<(ostream& os, Array& ar) { for (int i=0; i<ar.num; i++) os << ar.p[i] << " "; os << endl; return os; } // istream overload for input istream& operator >>(istream& is, Array& ar) { for (int i=0; i<ar.num; i++) is >> ar.p[i]; return is; } // ofstream overload for file output ofstream& operator <<(ofstream& ofs, Array& ar) { for (int i=0; i<ar.num; i++) ofs << ar.p[i] << " "; ofs << endl; return ofs; } // ifstream overload for file input ifstream& operator >>(ifstream& ifs, Array& ar) { for (int i=0; i<ar.num; i++) ifs >> ar.p[i]; return ifs; } // get size of array int Array::size(void) { return num; } // console input void Array::read(void) { for (int i=0; i<num; i++) cin >> p[i]; } // console output void Array::write(void) { for (int i=0; i<num; i++) cout << p[i]; } // sorting void Array::sort(void) { int temp; for (int j=0; j<num-1; j++) for (int i=j; i<num; i++) { if (i==j) continue; if (p[i]<p[j]) { temp = p[j]; p[j] = p[i]; p[i] = temp; } } } void main(void) { int n; // create array cout << "Choose size of vector:\a " ; cin >> n; cout << "Program created array[" << n << "].\n\a"; Array A(n), B(n); cout <<"Please, input "<< n <<" elements of Vector. operator >> (input) worked:\n"; cin >> A; // sort cout << "Array::sort() worked.\n\a"; A.sort(); // cout overload cout <<"operator << (output) worked:\n"; cout << A; // read array from file cout <<"operator >> (file input) worked:\n"; ifstream ifs("1.txt"); B = A; ifs >> A; ifs.close(); // write array cout <<"Array from file:\n"; cout << A; // write array in file cout << "operator << (file output) worked:\n"; ofstream ofs("1.txt", ios::out); ofs << B; ofs.close(); getch(); }  Висновки Під час виконання лабораторної роботи я ознайомився з набором класів Borland C++ для керування введенням-виведенням даних різних типів. Для таких операцій у програму включені заголовні файли #include <iostream.h> та #include <fstream.h>
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!