Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Лабораторна робота №2
Оголошення та структура класу
Виконав:
Студент гр. КН-3
Львів, 2007
Мета роботи: вивчення оголошення класу та рівнів захисту його елементів.
Порядок роботи
Ознайомитись з особливостями оголошення класу та його об’єктів.
По виданому завданню написати програму мовою С++ та реалізувати її на комп’ютері.
Оформити звіт по роботі. Структура звіту:
назва роботи
мета роботи
завдання для роботи
програма та результати її роботи
висновки
Задвання для роботи
3. Створити клас дати з полями у закритій частині: день(1-31), місяць(1-12), рік(ціле число). Клас має конструктор. Функції-члени встановлення дня, місяця і року. Функції-члени отримання значення дня, місяця і року, а також дві функції-члени виведення по шаблонах: “12 лютого 2007 року” і “12.02.2007”. Функції-члени встановлення полів класу повинні перевіряти коректність параметрів, що задаються.
Текст програми
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
#include <iomanip>
using namespace std;
class Date
{
private:
int dd;
int mm;
int yyyy;
public:
Date(){dd=1;mm=1;yyyy=2000;}//конструктори класу
Date(int a,int b,int c): dd(a),mm(b), yyyy(c){}
~Date(){}//деструктор класу
int Getdd(){return dd;}
int Getmm(){return mm;}
int Getyyyy(){return yyyy;}
void Setdd(int a);
void Setmm(int b);
void Setyyyy(int c);
void Out1(void);
void Out2(void);
};
void Date::Setdd(int a)
{
if (a>0 && a<=31) dd=a;
else cout<<"Incorrect date format!!!\n";
}
void Date::Setmm(int b)
{
if (b>0 && b<=12) mm=b;
else cout<<"Incorrect date format!!!\n";
}
void Date::Setyyyy(int c)
{
if (c>0) yyyy=c;
else cout<<"Incorrect date format!!!\n";
}
void Date::Out1(void)
{
cout<<dd;
switch(mm)
{
case 1: {cout<<" Sichnja "; break;}
case 2: {cout<<" Ljutogo ";break;}
case 3: {cout<<" Bereznja ";break;}
case 4: {cout<<" Kvitnja ";break;}
case 5: {cout<<" Travnja ";break;}
case 6: {cout<<" Chervnja ";break;}
case 7: {cout<<" Lupnja ";break;}
case 8: {cout<<" Serpnja ";break;}
case 9: {cout<<" Veresnja ";break;}
case 10: {cout<<" Zovtnja ";break;}
case 11: {cout<<" Lystopada ";break;}
case 12: {cout<<" Grudnja ";break;}
}
cout<<yyyy<<" Roku "<<endl;
}
void Date::Out2()
{
cout<<setw(2)<<setfill('0')<<dd<<'.'<<setw(2)<<mm<<'.'<<setw(4)<<yyyy<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
int x;
Date test(1,11,2001);
test.Out1();//перевірка працездатності шаблонів виводу
test.Out2();
x=test.Getyyyy();
cout<<x<<endl;
test.Setdd(13);
test.Setmm(14);
test.Setyyyy(2008);
test.Out2();//перевірка роботи функцій-членів встановлення полів класу
return 0;
}
Результати тестування програми
Тестування програми показало, що програма успішно виконує поставлене завдання. Для перевірки працездатності програми було введено декілька вхідних наборів даних та використано виведення за обома шаблонами:
Висновок: під час виконання лабораторної роботи я вивчав особливості оголошення класу та рівні захисту його елементів.