Міністерство освіти і науки України
Запорізький національний університет
Кафедра інформаційних технологій
Індивідуальна робота
З теми: «С++. Класи і об’єкти»
Виконав:
студ. 2 курсу
матем. ф-ту
гр. 8226-1
Лапін С.М.
Перевірив:
Борю С.Ю.
Запоріжжя 2007
Цель: Разработка простейших классов на примере разработки моделей элементарных объектов и динамических информационных структур (одно и двунаправленных списков).
1 часть работы "разработка простых классов"
Постановка задачи
Разработать класс, набор методов (конструктор и минимум два метода) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Разработать вызывающую программу (main), использующей объекты разработанного класса и тестирующие работоспособность всех методов.
Варианты заданий
14. Объект «прямоугольник заданный длинами двух сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – является ли прямоугольник квадратом. Конструктор должен позволить создавать объекты без и с начальной инициализацией.
Програма:
#ifndef rectangle__h
#define rectangle__h
#include <math.h>
class rectangle
{
private:
double a, b;
public:
rectangle();
rectangle(double, double);
~rectangle();
rectangle & operator=(const rectangle & x);
double square(void);
double perimeter(void);
double diagonal(void);
int is_square(void);
void print_rectangle(void);
};
#endif
#ifndef conrectangle__h
#define conrectangle__h
#include <iostream.h>
#include "rectangle.h"
rectangle::rectangle()
{
cout<<"The constructor "rectangle()" worked.n";
a=1.0;
b=1.0;
};
rectangle::rectangle(double x, double y)
{
cout<<"The constructor "rectangle(double, double)" worked.n";
a=x;
b=y;
};
rectangle::~rectangle()
{
cout<<"The destructor "~rectangle()" worked.n";
a=0.0;
b=0.0;
};
rectangle & rectangle::operator=(const rectangle & x)
{
if(this==&x) return *this;
this->a=x.a;
this->b=x.b;
return *this;
};
double rectangle::square(void)
{
return a*b;
};
double rectangle::perimeter()
{
return 2*a+2*b;
};
double rectangle::diagonal()
{
return sqrt(a*a+b*b);
};
int rectangle::is_square()
{
if(a==b) return 1;
return 0;
};
void rectangle::print_rectangle()
{
char msg1[]=" ", msg2[]=" not ";
cout<<"a="<<a<<" b="<<b;
cout<<"nS= "<<square()<<" m^2 P="<<perimeter()<<" m d="<<diagonal()<<" m";
cout<<"nRectangle is";
if(is_square())
cout<<msg1;
else
cout<<msg2;
cout<<"square.n";
return;
};
#endif
#include <iostream.h>
#include "conrectangle.h"
void main()
{
rectangle r1;
double a,b;
char s[1];
cout<<"nESLI VAM ETA PROGA POKAZHETSA TUPOY... NE PEREZHYVAITE! ETO DEISTVITEL'NO TAK :)n";
do
{
cout<<"n Our rectangle:n";
r1.print_rectangle();
cout<<"Input a, b:n";
cin>>a>>b;
rectangle r2(a, b);
cout<<"n Your rectangle:n";
r2.print_rectangle();
r1=r2;
cout<<"n Your rectangle is our now:n";
r1.print_rectangle();
cout<<"Repeat or quit?(r/q)...";
cin>>s;
}
while (s[0]!='q');
return;
};
Результати:
D:StudiesLabsCppIndivid_6>ind1
The constructor "rectangle()" worked.
ESLI VAM ETA PROGA POKAZHETSA TUPOY... NE PEREZHYVAITE! ETO DEISTVITEL'NO TAK :)
Our rectangle:
a=1 b=1
S= 1 m^2 P=4 m d=1.41421 m
Rectangle is square.
Input a, b:
456.125
789.5452485
The constructor "rectangle(double, double)" worked.
Your rectangle:
a=456.125 b=789.545
S= 360131 m^2 P=2491.34 m d=911.829 m
Rectangle is not square.
Your rectangle is our now:
a=456.125 b=789.545
S= 360131 m^2 P=2491.34 m d=911.829 m
Rectangle is not square.
Repeat or quit?(r/q)...r
The destructor "~rectangle()" worked.
Our rectangle:
a=45
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.