Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Навчально-науковий інститут комп’ютерних технологій автоматики та метрології
Кафедра метрології та стандартизації
Звіт
про практику
з дисципліни «Програмування (Об’єктно-Орієнтоване)»
МЕТА ПРАКТИТИ
Розвинути навики використання Об’єктно-Орієетованого Програмування (ООП) при створенні програмних продуктів для операційної системи Windows та системного програмного забезпечення. Засвоїти навики використання типових об’єктно-орієнтованих бібліотек при розробці сучасного графічного інтерфейсу користувача. Познайомитись з бібліотекою класів MFC, навчитись створювати віконні програми, що будуються на основі діалогу, одно- та багатодокументної архітектури.
Завдання :
Варіант №12
Задана довжина ребра куба. Знайти об’єм куба та площу його бокової
поверхні.
Аналіз завдання та опис вирішення задачі.
MFC бібліотека являє собою набір класів EC (узагальнені поннятя , що використовуються в Об’єктно-Орієетованому Програмуванні (ООП) які можуть бути використані у створенні прикладних програм S . Класи в бібліотеці MFC написані на мові програмування С++ .Бібліотека MFC економить час програміста надаючи код який вже був написаний. Вона також забезпечує загальну основу для розробки прикладних програм. Є MFC класи та бібліотеки для всіх графічних елементів користувальницького інтерфейсу (вікна, фрейми, меню,панелі), для створення інтерфейсів до бази даних , для обробки подій таких як повідомлення з інших програм, для обробки клавіатури і введення миші а також для створення елементів керування AсtiveX.
Для вирішення даної задачі я скористався математичними формулами об’єму та площі бокової поверхні куба.
Vкуба = a3
Sпл.бічної пов.= a2*6
Завдання 1(Діалог)
Текст програми:
void CpraktykaDlg::OnBnClickedButton1(){
UpdateData(TRUE);
m_ob=m_rebro*m_rebro*m_rebro; //Обчислюємо об’єм
m_plb=m_rebro*m_rebro*6; // Обчислюємо площу бічної поверхні
UpdateData(FALSE);
}
Результат виконання програми:
/
Завдання 2 (Одно-документна програма)
Текст програми:
void CMainFrame::OnButton1(){
char ar[255];
char* buff[6];
int Massive[2];
int buff_lenght;
int i, j;
CString m_Edit;
UpdateData(TRUE);
CEditView* pView =((CEditView*)((CMainFrame*)AfxGetMainWnd())->GetActiveView());
pView->GetEditCtrl().GetWindowText(m_Edit);
strcpy(ar, m_Edit);
for(i=0;i<2;i++)
buff[i]=new char[];
for( i=0,j=0;ar[i]!=NULL;i++){
if(ar[i]==' '){
if(i==2)
buff_lenght=2;
if(i==1)
buff_lenght=1;
strncpy(buff[j],ar,buff_lenght);
int n=sizeof(ar)/sizeof(char);
for( i=0;i<=buff_lenght;i++)
for( i=0;i<n-1;i++){
ar[i]=ar[i+1];
n--;
}
j++;
i=0;
}
}
for(i=0;i<2;i++){
Massive[i]=atoi(buff[i]);
}
int m_vi=Massive[0];
double m_ob=m_vi*m_vi*m_vi; //Обчислюємо об’єм
double m_plb=m_vi*m_vi*6; // Обчислюємо площу бічної поверхні
char arch[255];
sprintf(arch,"Об’єм: %Lf\ Площа:%Lf\n",m_ob,m_plb);//вивід
pView->GetEditCtrl().SetWindowText(arch);
UpdateData(FALSE);
}
Результат виконання програми:/
Завдання 3 (Багато-документна програма)
Текст програми:
class C
{
public:
friend istream & operator >> (istream & strm, C & surf){
char dummy = ';';
strm >>surf.m_r;
return strm;
}
public:
C(void){}
virtual ~C(void){}
void R(double r) { m_r = r; };
double R(void) const { return m_r; };
void P(double r) { m_r = r; };
double P(void) const { return m_r*m_r*m_r;; };
void S(double r) { m_r = r; };
double S(void) const { return m_r*m_r*6; };
const char * Name(void) const { return m_name; };
private:
char m_name[15];
double m_r;
};
Результат виконання програми:
/
Висновок:
У процесі проходження навчальної практики я розробив програмне забезпечення з використанням типової об’єктно-орієнтованої бібліотеки MFC (Microsoft Foundation Classes). На основі цієї бібліотеки, я, розробив графічний інтерфейс з використанням типових для ОС Windows архітектур:
- «Діалогу»;
- «Одно-документної»;
- «Багато-документної» програм.