Примеры использования структур из библиотек

 

Структуры часто используются в библиотеках языка С. В языке С++ обычно применяются не структуры, а классы.


// Пример 6.1.4

// Функции для даты и времени

// tm - структура для работы с датой и временем <time.h>

// struct tm {

// int tm_sec; /* seconds after the minute - [0,59] */

// int tm_min; /* minutes after the hour - [0,59] */

// int tm_hour; /* hours since midnight - [0,23] */

// int tm_mday; /* day of the month - [1,31] */

// int tm_mon; /* months since January - [0,11] */

// int tm_year; /* years since 1900 */

// int tm_wday; /* days since Sunday - [0,6] */

// int tm_yday; /* days since January 1 - [0,365] */

// int tm_isdst; /* daylight savings time flag */

// };

#include <iostream>

#include <time.h>

using namespace std;

// главная функция

void main() {

setlocale( LC_ALL, "Russian"); // для вывода на экран русского текста

time_t currentTime;

time(&currentTime);

cout << "Сегодня - " << ctime(&currentTime) << endl;

cin.get();

time(&currentTime);

struct tm ptm1=*localtime(&currentTime);

cout << "Сегодня - " << ((ptm1.tm_mon)+1) << "/"

<< ptm1.tm_mday << "/" << ptm1.tm_year+1900 << endl;

cout << "Текущее время - " << ((ptm1.tm_hour)) << ":"

<< ptm1.tm_min << ":" << ptm1.tm_sec << endl;

cin.get();

}

 

// Пример 6.1.5

// Cтруктуры для Windows

#include <iostream>

// заголовки Windows

#include <windows.h>

using namespace std;

// точки

void ViewPoint(POINT);

void ViewPoint(char [],POINT);

POINT CreatePoint(LONG,LONG);

// прямоугольники

void ViewRect (RECT);

void ViewRect(char name [],RECT r);

RECT CreateRect(POINT, POINT);

// главная функция

void main() {

setlocale( LC_ALL, "Russian"); // для вывода на экран русского текста

// точки

POINT p1={0,0};

ViewPoint(p1);

ViewPoint("p1",p1);

cin.get();

POINT p2;

p2.x=100;

p2.y=100;

ViewPoint("p2",p2);

cin.get();

POINT p3=CreatePoint(300,500);

ViewPoint("p3",p3);

cin.get();

// прямоугольники

RECT r1={100,100,200,200};

ViewRect(r1);

ViewRect("r1",r1);

cin.get();

RECT r2;

r2.left=p1.x;

r2.top=p1.y;

r2.right=p2.x;

r2.bottom=p2.y;

ViewRect("r2",r2);

cin.get();

RECT r3=CreateRect(p1,p3);

ViewRect("r3",r3);

cin.get();

}

 

 

// точки

void ViewPoint(POINT p) {

cout << "(" << p.x << "," << p.y << ")" << endl;

}

void ViewPoint(char name [] ,POINT p) {

cout << name << " : ";

ViewPoint(p);

}

POINT CreatePoint(LONG x,LONG y) {

POINT p;

p.x=x;

p.y=y;

return p;

}

// прямоугольники

void ViewRect(RECT r) {

cout << "(left=" << r.left << "; top=" << r.top << "; right=" << r.right

<< "; bottom=" << r.bottom << ")" << endl;

}

void ViewRect(char name [],RECT r) {

cout << name << " : ";

ViewRect(r);

}

RECT CreateRect(POINT p1, POINT p2) {

RECT r;

r.left=p1.x;

r.top=p1.y;

r.right=p2.x;

r.bottom=p2.y;

return r;

}


 


Лекция 6.2. Классы с открытыми данными.