Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи по програмуванні(14 лаб).doc
Скачиваний:
77
Добавлен:
16.05.2015
Размер:
1.43 Mб
Скачать

Приклад розробки програми

#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;

}

Контрольні запитання

  1. Що таке потік і як він визначається?

  2. Що таке буфер?

  3. Класифікація потоків, що використовуються у програмуванні.

  4. Для чого призначені cin/cout?

  5. Особливості використання бібліотеки потоків.

  6. Особливості операцій вставки та вилучення.

  7. Що таке маніпулятори? Для чого вони необхідні?

  8. Для чого необхідні прапорці у потоках?

  9. Види пріоритетів потоків.

  10. Функції обміну з потоками, які вам відомі.