Лабораторна робота № 1

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Звіт Лабораторна робота № 1 з об′єктно орієнтовного програмування Мета: Оволодіти навичками роботи в середовищі С++, ознайомитися з принципами роботи з класами і об’єктами. Теоретичні відомості: Конструктор по замовчуванню - виконує створення об’єкта класу коли явні значення для ініціалізації членів класу відсутні. Клас може мати тільки один конструктор по замовчуванню. Деструктор – призначений для коректного знищення об’єкта. Автоматично визначаються функції: заданий за замовчуванням конструктор конструктор копіювання оператор присвоювання деструктор за замовчуванням оператор адресації Модифікатори: - public – доступні всім; - protected – доступні із класу нащадків; - private – закриті (доступні в межах класу). Завдання: Варіант 6. Клас Інструкція по вибору і наданню послуг. Створити класи послуг, з відповідними описами і інструкціями, а також часом їх надання, терміном дії і станом (виконана \ не виконана). Забезпечити операції визначення часу надання послуг, отримання інформації по послузі, по пакету вцілому, та можливості вибору послуг за заданим часом їх надання і навпаки. Програма: // Instr.cpp: implementation of the CInstr class. // ////////////////////////////////////////////////////////////////////// #include "Instr.h" #include <stdio.h> #include <stdlib.h> #include <ctime> #include "P1.h" #include "P2.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CInstr::CInstr():po1() { // printf("Nadae poslugy:"); } CInstr::~CInstr() { } int CInstr::Vybir() { printf(" ---alarm---\n"); printf("Vyberit poslugu:"); printf("\n1 -- %s -- ",po1.GetN()); po1.Stan(); printf("\n2 -- %s -- ",po2.GetN()); po2.Stan(); printf("\n3 -- %s -- ",po3.GetN()); po3.Stan(); printf("\n4 -- Info po poslugah"); printf("\n0 -- EXIT"); printf("\nVedit nomer:>"); scanf("%d",&i); system("cls"); switch (i){ case 1: po1.Vykon(); return 1; case 2: po2.Vykon(po1.Stan()); return 1; case 3: po3.Vykon(po1.Stan()); return 1; case 4: while(Info()); return 1; default: return 0; } } int CInstr::Info() { printf(" ---alarm---\n"); printf("Vyberit poslugu dlya info:"); printf("\n1 -- %s -- ",po1.GetN()); po1.Stan(); printf("\n2 -- %s -- ",po2.GetN()); po2.Stan(); printf("\n3 -- %s -- ",po3.GetN()); po3.Stan(); printf("\n0 -- Back"); printf("\nVedit nomer:>"); scanf("%d",&i); system("cls"); switch (i){ case 1: po1.Info(); return 1; case 2: po2.Info(); return 1; case 3: po3.Info(); return 1; default: return 0; } } void CInstr::Delay(float sec) { clock_t delay = sec * CLOCKS_PER_SEC; clock_t start = clock(); while (clock() - start <delay); } // Instr.h: interface for the CInstr class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_INSTR_H__B3F81BC0_590F_45E8_8416_A908031F25AD__INCLUDED_) #define AFX_INSTR_H__B3F81BC0_590F_45E8_8416_A908031F25AD__INCLUDED_ #include "P1.h" // Added by ClassView #include "P2.h" // Added by ClassView #include "P3.h" // Added by ClassView #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CInstr { public: void Delay(float sec); int Info(); int Vybir(); CInstr(); virtual ~CInstr(); private: CP3 po3; int i; CP2 po2; CP1 po1; }; #endif // !defined(AFX_INSTR_H__B3F81BC0_590F_45E8_8416_A908031F25AD__INCLUDED_) (((((((((((((((((((((((((((((((((((((((( )))))))))))))))))))))))))))))))))))) (((((((((((((((((((((((((((((((((((((((( )))))))))))))))))))))))))))))))))))) // P1.cpp: implementation of the CP1 class. // ////////////////////////////////////////////////////////////////////// #include "P1.h" #include <string.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <ctime> ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CP1::CP1() { time = 1; name = new char[30]; strcpy(name,"time of signal"); stan = false; } CP1::CP1(const CP1 &st) { int len= strlen(st.name); // delete [] name; name = new char[len+1]; strcpy(name,st.name); } CP1 & CP1::operator=(const CP1 & pos) { if ( this==&pos) { return *this; } i = pos.i; delete [] name; name = new char[strlen(pos.name)+1]; strcpy(name,pos.name); stan = pos.stan; time = pos.time; printf("CP1::operator=(const CP1 & pos) working "); return *this; } CP1::~CP1() { delete[] name; } char* CP1::GetN() { return name; } int CP1::GetT() { return time; } bool CP1::Stan() { if(stan){ printf("vykonana"); }else{ printf("nevykonana"); } return stan; } void CP1::Vykon() { printf(" --time of signal--\n"); printf(">Ustanovka time of signal 7:00\n>"); for(i = 0;i < 20;i++){ printf("-"); Delay(0.2); } printf("\n>Zavershennya ustanovky"); Delay(2); system("cls"); printf("time 7:00 ustanovleno. Chas ustanovky - %d hv",time); stan = true; getch(); system("cls"); } void CP1::Info() { printf("time of signal 7:00\n" "Chas ustanovky - %d hv\n" "Stan - ",time); Stan(); printf("\n6/11/2008 "); getch(); system("cls"); } void CP1::Delay(float sec) { clock_t delay = sec * CLOCKS_PER_SEC; clock_t start = clock(); while (clock() - start <delay); } void CP1::N(char *n) { strcpy(name,n); } // P1.h: interface for the CP1 class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_P1_H__67E14993_68BE_4054_833E_9A4E87B00254__INCLUDED_) #define AFX_P1_H__67E14993_68BE_4054_833E_9A4E87B00254__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CP1 { public: CP1 & CP1::operator=(const CP1 & pos); void N(char *n); CP1(const CP1 & st); void Delay(float sec); void Info(); void Vykon(); bool Stan(); int GetT(); char* GetN(); CP1(); virtual ~CP1(); private: bool stan; char *name; int time; int i; }; #endif // !defined(AFX_P1_H__67E14993_68BE_4054_833E_9A4E87B00254__INCLUDED_) ((((((((((((((((((((((((((((((((((((((((((( )))))))))))))))))))))))))))))))))))) ((((((((((((((((((((((((((((((((((((((((((( )))))))))))))))))))))))))))))))))))) // P2.cpp: implementation of the CP2 class. // ////////////////////////////////////////////////////////////////////// #include "P2.h" #include <string.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctime> ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CP2::CP2() { time = 4; name = new char[30]; strcpy(name,"Ton of signal"); stan = false; } CP2::CP2(const CP2 &st) { int len= strlen(st.name); // delete [] name; name = new char[len+1]; strcpy(name,st.name); } CP2 & CP2::operator=(const CP2 & pos) { if ( this==&pos) { return *this; } delete [] name; name = new char[strlen(pos.name)+1]; strcpy(name,pos.name); stan = pos.stan; time = pos.time; printf("CP2::operator=(const CP2 & pos) working "); return *this; } CP2::~CP2() { delete [] name; } char* CP2::GetN() { return name; } int CP2::GetT() { return time; } bool CP2::Stan() { if(stan){ printf("vykonana"); }else{ printf("nevykonana"); } return stan; } void CP2::Vykon(bool f) { system("cls"); if(f){ printf("ton of signal ustanovleno. Chas ustanovky - %d hv",time); stan = true; }else printf("ERROR small! -- First of all install time of signal!"); getch(); system("cls"); } void CP2::Info() { printf("ton of signal:\n" ">belly dance\n" ">cycle\n" ">electronic\n" ">rock\n\n" "Chas ustanovky - %d hv\n" "Stan - ",time); Stan(); printf("\n6/11/2008 -- Lviv"); getch(); system("cls"); } void CP2::Delay(float sec) { clock_t delay = sec * CLOCKS_PER_SEC; clock_t start = clock(); while (clock() - start <delay); } // P2.h: interface for the CP2 class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_P2_H__20139DB5_69CB_46E8_ACD2_C12B20F2D7BD__INCLUDED_) #define AFX_P2_H__20139DB5_69CB_46E8_ACD2_C12B20F2D7BD__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CP2 { public: CP2 & CP2::operator=(const CP2 & pos); CP2(const CP2 & st); void Delay(float sec); void Info(); void Vykon(bool f); bool Stan(); int GetT(); char* GetN(); CP2(); virtual ~CP2(); private: bool stan; char *name; int time; }; #endif // !defined(AFX_P2_H__20139DB5_69CB_46E8_ACD2_C12B20F2D7BD__INCLUDED_) (((((((((((((((((((((((((((((((((((((((((((((((( ))))))))))))))))))))))))))))))))))) (((((((((((((((((((((((((((((((((((((((((((((((( ))))))))))))))))))))))))))))))))))) // P31.cpp: implementation of the CP3 class. // ////////////////////////////////////////////////////////////////////// #include "P3.h" #include <string.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <ctime> ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CP3::CP3() { time = 1; name = new char [30]; strcpy(name,"day for alarm"); stan = false; } CP3::CP3(const CP3 &st) { int len= strlen(st.name); // delete [] name; name = new char[len+1]; strcpy(name,st.name); } CP3 & CP3::operator=(const CP3 & pos) { if ( this==&pos) { return *this; } delete [] name; name = new char[strlen(pos.name)+1]; strcpy(name,pos.name); stan = pos.stan; time = pos.time; printf("CP3::operator=(const CP3 & pos) working "); return *this; } CP3::~CP3() { delete [] name; } char* CP3::GetN() { return name; } int CP3::GetT() { return time; } bool CP3::Stan() { if(stan){ printf("vykonana"); }else{ printf("nevykonana"); } return stan; } void CP3::Vykon(bool f) { system("cls"); if(f){ printf(" --day for alarm--"); printf("all day\n"); Delay(1); printf("monday\n"); Delay(1); printf("tuesday\n"); Delay(1); printf("wednesday\n"); Delay(1); printf("friday\n"); Delay(1); printf("saturday\n"); Delay(1); printf("den\n\n"); Delay(1); printf("Ustanovka zaverwena. \nChas ustanovky - %d hv",GetT()); stan = true; }else printf("ERROR small! -- First of all install time of signal!"); getch(); system("cls"); } void CP3::Info() { printf("day for alarm:\n" ">all day\n" ">tuesday\n" ">wednesday\n" ">friday\n" ">sudney\n" "Chas ustanovky - %d hv\n" "Stan - ",time); Stan(); printf("\n6/11/2008 "); getch(); system("cls"); } void CP3::Delay(float sec) { clock_t delay = sec * CLOCKS_PER_SEC; clock_t start = clock(); while (clock() - start <delay); } // P31.h: interface for the CP3 class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_P31_H__93405A5C_E269_4172_8BEE_0340BC5B5A99__INCLUDED_) #define AFX_P31_H__93405A5C_E269_4172_8BEE_0340BC5B5A99__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CP3 { public: CP3 & CP3::operator=(const CP3 & pos); CP3(const CP3 & st); void Delay(float sec); void Info(); void Vykon(bool f); bool Stan(); int GetT(); char* GetN(); CP3(); virtual ~CP3(); private: bool stan; char *name; int time; }; #endif // !defined(AFX_P31_H__93405A5C_E269_4172_8BEE_0340BC5B5A99__INCLUDED_) Результат:    Висновок: на дані лабораторні роботі я ознайомилася з основами роботи в середовищі С++. Набула навик використання класів і в створені їх об’єктів.
Антиботан аватар за замовчуванням

31.03.2013 13:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!