Разработать класс, набор методов (конструктор и минимум два метода) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Разработать вызывающую программу (main), использующей объекты разработанного класса и тестирующие работоспособность всех методов. Варианты заданий 14. Объект «прямоугольник заданный длинами двух сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – является ли прямоугольник квадратом. Конструктор должен позволить создавать объекты без и с начальной инициализацией. Програма: #ifndef rectangle__h #define rectangle__h #include 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 #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 #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:\Studies\Labs\Cpp\Individ_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=456.125 b=789.545 S= 360131 m^2 P=2491.34 m d=911.829 m Rectangle is not square. Input a, b: 0.4876 0.4876 The constructor "rectangle(double, double)" worked. Your rectangle: a=0.4876 b=0.4876 S= 0.237754 m^2 P=1.9504 m d=0.689571 m Rectangle is square. Your rectangle is our now: a=0.4876 b=0.4876 S= 0.237754 m^2 P=1.9504 m d=0.689571 m Rectangle is square. Repeat or quit?(r/q)...r The destructor "~rectangle()" worked. Our rectangle: a=0.4876 b=0.4876 S= 0.237754 m^2 P=1.9504 m d=0.689571 m Rectangle is square. Input a, b: 16.23 31.06 The constructor "rectangle(double, double)" worked. Your rectangle: a=16.23 b=31.06 S= 504.104 m^2 P=94.58 m d=35.0448 m Rectangle is not square. Your rectangle is our now: a=16.23 b=31.06 S= 504.104 m^2 P=94.58 m d=35.0448 m Rectangle is not square. Repeat or quit?(r/q)...q The destructor "~rectangle()" worked. The destructor "~rectangle()" worked. D:\Studies\Labs\Cpp\Individ_6> 2 часть работы «Информационные динамические структуры» Постановка задачи Написать программу, в которой создаются динамические структуры, и выполнить их обработку в соответствии со своим вариантом. Для каждого вариант разработать следующие методы: 1. Конструктор пустого списка. 2. Добавление элемента в список (в соответствии со своим вариантом). 3. Удаление элемента из списка (в соответствии со своим вариантом). 4. Печать списка. 5. Запись списка в файл. 6. Восстановление списка из файла. 7. Деструктор списка (уничтожение). Порядок выполнения работы 1. Разработать описание класса, выделить публичные и приватные поля данных. Разработать интерфейс класса – прототипы методов. 2. Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы. 3. Написать функцию для печати списка. Функция должна предусматривать вывод сообщения, если список пустой. 4. Написать функции для удаления и добавления элементов списка в соответствии со своим вариантом. 5. Выполнить изменения в списке и печать списка после каждого изменения. 6. Написать функцию для записи списка в файл. 7. Написать функцию для уничтожения списка. 8. Записать список в файл, уничтожить его и выполнить печать (при печати должно быть выдано сообщение "Список пустой"). 9. Написать функцию для восстановления списка из файла. 10. Восстановить список и распечатать его. 11. Уничтожить список. Варианты заданий 14. Записи в линейном списке содержат поле данных звена типа *char(строка символов). Сформировать двунаправленный список. Удалить из него К элементов с указанными номерами. Добавить К элементов с указанными номерами.
Рефераты по информатикеРазработать класс, набор методов (конструктор и минимум два метода) для программной модели заданного объекта. Описание объекта и его основных свойств
Оценок: 301 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.