Разработка класса пользователя

Страницы работы

Содержание работы

Министерство образования и науки РФ

ГОУВПО «Комсомольский-на-Амуре государственный технический университет»

Кафедра МОП ЭВМ

Лабораторная работа №15

«РАЗРАБОТКА КЛАССА ПОЛЬЗОВАТЕЛЯ»

                                                               Выполнил: Рогозин В.А.

Группа: 4ВС-1

Проверил: Петров Ю.А.

Комсомольск-на-Амуре

2005

Цель работы:

·  Научиться разрабатывать простейшие классы пользователя;

·  Научиться пользоваться новым потоком ввода / вывода;

·  Научиться использовать манипуляторы при форматированном вводе / выводе.

      Задание: Разработать собственный класс, в котором имеются закрытые и открытые переменные и функции, конструкторы и деструктор. Конструкторы должны инициализировать переменные различными способами. Использовать перегрузку функций и операций. Предусмотреть ввод / вывод  с использованием потока iostream с использованием манипуляторов. Предметная область может быть любая.

L_15_1.CPP

#include<iostream.h>

#include<stdlib.h>

#include<conio.h>

class dengod

{

public:

dengod(int rmes, int rden); //конструкторы

dengod(int rmes);

dengod();

void output(); //член-функция класса

friend void input(dengod& data5); //дружественная ф-я

friend ostream& operator <<(ostream& outputs, dengod& data); //перегрузка оператора <<

private:

int mes;

int den;

void testdate();

};

//----------------------------------void main(void)

{

clrscr();

dengod data1(2), data2(4,3), data, data5;

input(data5);

data.output(); cout<<endl;

data1.output(); cout<<endl;

data2.output(); cout<<endl;

data5.output(); cout<<endl;

cout<<data<<endl;

getch();

}

//----------------------------------dengod::dengod(int rmes,int rden) :mes(rmes), den(rden)

{testdate();}

dengod::dengod(int rmes) :mes(rmes), den(1)

{testdate();}

dengod::dengod() :mes(1), den(1)

{}

//----------------------------------void dengod::testdate()

{

if((mes<1)||(mes>12))

{

cout<<"Неверный номер месяца\n";

getch();

exit(1);

}

if((den<1)||(den>31))

{

cout<<"Неверный номер дня\n";

getch();

exit(1);

}

}

//----------------------------------void input(dengod& data5)

{

cout<<"Введите номер месяца: ";

cin>>data5.mes;

cout<<"Введите номер дня: ";

cin>>data5.den;

data5.testdate();

}

//----------------------------------void dengod::output()

{

cout<<den;

switch(mes)

{

case 1:

cout<<" Января"; break;

case 2:

cout<<" Февраля"; break;

case 3:

cout<<" Марта"; break;

case 4:

cout<<" Апреля"; break;

case 5:

cout<<" Майя"; break;

case 6:

cout<<" Июня"; break;

case 7:

cout<<" Июля"; break;

case 8:

cout<<" Августа"; break;

case 9:

cout<<" Сентяборя"; break;

case 10:

cout<<" Октяборя"; break;

case 11:

cout<<" Нояборя"; break;

case 12:

cout<<" Декаборя"; break;

default:

cout<<" Введен не коректный номер месяца ";

}

}

//---------------------------ostream& operator <<(ostream& outputs, dengod& data)

{

outputs<<data.den;

switch(data.mes)

{

case 1:

outputs<<" Января"; break;

case 2:

outputs<<" Февраля"; break;

case 3:

outputs<<" Марта"; break;

case 4:

outputs<<" Апреля"; break;

case 5:

outputs<<" Майя"; break;

case 6:

outputs<<" Июня"; break;

case 7:

outputs<<" Июля"; break;

case 8:

outputs<<" Августа"; break;

case 9:

outputs<<" Сентяборя"; break;

case 10:

outputs<<" Октяборя"; break;

case 11:

outputs<<" Нояборя"; break;

case 12:

outputs<<" Декаборя"; break;

default:

outputs<<" Введен не коректный номер месяца ";

}

return outputs;

}

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
44 Kb
Скачали:
0