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

Int main()

{ Distance dist1,dist2;

Distance dist3(11,6.25);

cout<<”\nVvedit 2 znachenna vidstanej:”;

cin>>dist1>>dist2;

cout<<”\ndist1=”<<dist1<<”\ndist2=”<<dist2;

cout<<”\ndist3=”<<dist3<<endl;

getch();

return 0;

}

Програма 26.14

#include<fstream>

#include<iostream>

#include<conio>

using namespace std;

class Distance

{private:

int feet;

float inches;

public:

Distance():feet(0),inches(0.0)

{ }

Distance(int ft,float in):feet(ft),inches(in)

{ }

friend istream& operator>>(istream& s,Distance& d);

friend ostream& operator<<(ostream& s,Distance& d);

};

////////////////

istream& operator>>(istream& s,Distance& d)

//одержати дані з файлу чи клавіатури

{char dummy;

s>>d.feet>>dummy>>dummy>>d.inches>>dummy;

return s;

}

//////////////

ostream& operator<<(ostream& s,Distance& d)

{s<<d.feet<<"\'-"<<d.inches<<'\"';

return s;

}

///////////////

Int main()

{char ch;

Distance dist1;

ofstream ofile; //створити і відкрити

ofile.open("DIST.DAT"); //вихідний потік

do

{cout<<"\nVvedit vidstan: ";

cin>>dist1; //одержати дані від користувача

ofile<<dist1; //записати їх у вихідний потік

cout<<"Continue? (y/n)";

cin>>ch;

}while(ch!='n');

ofile.close(); //закрити вихідний потік

ifstream ifile; //створити і відкрити

ifile.open("DIST.DAT"); //вхідний потік

cout<<"\nVmist failu\n";

while(true)

{ ifile>>dist1; //читання даних з потоку

if(ifile.eof()) //вихід по eof

break;

cout<<"Vidstan="<<dist1<<endl;

};

getch();

return 0;

}

Програма 26.15

#include<strstream>

#include<iostream>

#include<iomanip> //для setiosflags()

#include<conio>

using namespace std;

const int SIZE=80;

Int main()

{char ch=’x’;

int j=77;

double d=67890.12345;

char str1[]=»Kartka»;

char str2[]=»Friend»;

char menuff[SIZE]; //буфер в памяті

ostrstream onem(menuff,SIZE); //створити потоковий обєкт

onem<<»ch=»<<ch<<endl //вставити форматовані дані

<<»j=»<<j<<endl

<<setiosflags(ios::fixed) //формат з десятковою комою

<<setprecision(2) //2 знаки після коми

<<»d=»<<d<<endl

<<»str1=»<<str1<<endl

<<»str2=»<<str2<<endl

<<ends; //закінчити буфер символом ‘\0’

cout<<menuff;//вивід вмісту буферу

getch();

return 0;

}

Програма 26.16

Лабораторне заняття 13 Теоретична частина

Базується на матеріалі лекцій 26-28. Потоки і файли.

Завдання 1

Розглянемо клас Distance (наприклад, з програми 26.1). Використовуючи цикл, аналогічний до приведеного в програмі 26.8, одержіть кілька значень від користувача і запишіть їх в файл. Додайте їх до вже записаних даних, якщо такі є. Після закінчення користувачем вводу прочитайте файл і виведіть на екран всі значення.

Приклад виконання завдання 1

#include<fstream>

#include<iostream>

#include<conio>

using namespace std;

class Distance

{private:

int feet;

float inches;

public:

Distance():feet(0),inches(0.0)

{ }

Distance(int ft,float in):feet(ft),inches(in)

{ }

void getdist()

{cout<<"\nVvedit futy:";cin>>feet;

cout<<"Vvedit duimy:";cin>>inches;

}

void showdist()

{cout<<feet<<"\'"<<inches<<'\"';}

};