DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Довідник футбольних клубів

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

ВУЗ:
Інші
Інститут:
О
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

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

Рік:
2018
Тип роботи:
Курсова робота
Предмет:
Алгоритмізація та програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Ковельський промислово – економічний коледж Луцького НТУ Курсова робота з дисципліни «Алгоритмізація та програмування» та тему «Довідник футбольних клубів» Студента: 2 курсу 291 Д групи напряму підготовки Комп’ютерні науки спеціальності Обслуговування програмних систем та комплексів Шкіля Дмитра Андрійовича Керівник викладач Новосад О.Р. Національна шкала ________________ Кількість балів: _______Оцінка: ECTS _____ Члени комісії ________________ ___________________________ (підпис) (прізвище та ініціали) ________________ ___________________________ (підпис) (прізвище та ініціали) ________________ ___________________________ (підпис) (прізвище та ініціали Ковель 2017 Оглавление. Техническое задание…………………………………………………………………1 Объяснение пунктов меню. …………………………………………………………2 Концептуальная модель данных. …………………………………………………...3 Аттрибуты книги и студента. ……………………………………………………….4 Листинг файлов bibliotekaDlg.cpp : implementation file……………………………………….5 Bring_book.cpp : implementation file…………………………………………7 Change_book.cpp : implementation file……………………………………….6 Change_student.cpp : implementation file…………………………………….8 Delete_book.cpp : implementation file………………………………………...9 Delete_student.cpp : implementation file……………………………………...10 Enter_nomer_of_changed_book.cpp : implementation file…………………...11 Enter_nomer_of_changed_student.cpp : implementation file…………………12 Find_book_by_key.cpp : implementation file…………………………………13 Find_book_in_student.cpp : implementation file……………………………...14 Find_student_and_his_book.cpp : implementation file.. ……………………...15 Myclasses.h……………………………………………………………………..16 Global_variables.h………………………………………………………….…..17 Zapis.h………………………………………………………………………..…18 Card.h…………………………………………………………………………...19 Student.h……………………………………………………………………..….20 Mas_ini.h……………………………………………………………………..…21 Inout_card.h…………………………………………………………………..…22 Inout_student.h……………………………………………………………….....23 Rwfiles.h…………………………………………………………………..…….24 Spisok.h………………………………………………………………………....25 UML-диаграмма классов. …………………………………………………………..…26 Заключение...………………………………………………………………………..….27 Техническое задание. В данной курсовой работе предполагается разработать и реализовать программу, предназначенную для ведения учета книг в книжной библиотеки. При этом подразумевается, что будут доступны следующие функции: добавление книг в библиотеку, выдача книги, забирание книги у студента, добавление студента в список людей, которым доступны услуги библиотеки, удаление из списков книги или студента, изменение параметров книги или студента. А также поиск по ключу студента или книги. В самой программе должны присутствовать следующие элементы: Работа с файлами (база книг и студентов). Запись и считывание. Использование классов и наследования. Использование исключительных ситуаций и обработка их. Реализация классов в программе должна исходить из UML-диаграммы. Программа должна обладать интерфейсом приложения WINDOWS и написана на языке С++. Объяснение пунктов меню. Считать базу книг. Считывание из файла books.txt базы книг (из параметров). Считать базу студентов. Считывание из файла students.txt базы студентов (из параметров и номеров взятых ими книг). Найти книгу по ключу. Поиск книги по ключу (фамилии автора, названию, году издания, издательства, теме, номеру). Для поиска следует ввести искомое значение и нажать кнопку с ключом поиска. Найти студента по ключу. Поиск студента по ключу (фамилии, группе, году продления читательского, университету, взятым книгам, номеру). Для поиска следует ввести искомое значение и нажать кнопку с ключом поиска. Добавить новую книгу. Добавление новой книги в библиотеку. Требуется ввести все параметры книги и нажать OK. Добавить нового студента. Добавление нового студента в список студентов. Требуется ввести все параметры студента и нажать OK. Удалить книгу. Надо ввести номер удаляемой книги. Удалить студента. Надо ввести номер удаляемого студента. Записать в файл библиотеку. Запись текущего списка книг в файл books.txt. Записать в файл базу студентов. Запись текущего списка студентов в файл students.txt. Найти книгу у студентов. Надо ввести номер искомой книги. Нажать ПОИСК. Будет выведен список студентов, которым выдана данная книга. Найти студента и посмотреть его книги. Надо ввести номер искомого студента. Нажать ПОИСК. Будет выведен список книг, выданных студенту. Изменить параметры книги. Следует ввести новые параметры книги и нажать ОК. Изменить параметры студента. Следует ввести новые параметры студента и нажать ОК. Выдать книгу. Следует ввести номера книги и студента и нажать ОК. Взять книгу. Следует ввести номера книги и студента и нажать ОК. Выход. Выход из программы. Автоматически запоминается в файлы текущие базы студентов и книг. Концептуальная модель данных. ER-диаграмма. Аттрибуты книги и студента. Книга: Название, Фамилия, Имя, Отчество, Год издания, Издательство, Издание, Количество, Количество выданных, Номер Студент: Фамилия, Имя, Отчество, Год продления читательского билета, Группа, Университет, Номер Номер является уникальным – ключевой атрибут. // bibliotekaDlg.cpp : implementation file // #include "stdafx.h" #include "biblioteka.h" #include "bibliotekaDlg.h" #include "DlgProxy.h" // #include "MyClasses.h" #include "card.h" #include "mas_int.h" #include "spisok.h" #include "zapis.h" #include "global_variables.h" #include "student.h" #include <stdlib.h> #include <stdio.h> #include <string.h> #include <iostream.h> #include <conio.h> #include <malloc.h> #include <afx.h> #include "Afxwin.h" #include <afxcoll.h> #include <memory.h> // #include "Find_book_by_key.h" #include "Find_book_in_student.h" #include "Find_student_and_his_book.h" #include "New_book.h" #include "New_student.h" #include "Delete_book.h" #include "Delete_student.h" #include "Find_student_by_key.h" #include "Take_book.h" #include "Bring_book.h" #include "Change_book.h" #include "Change_student.h" #include "Enter_nomer_of_changed_book.h" #include "Enter_nomer_of_changed_student.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBibliotekaDlg dialog IMPLEMENT_DYNAMIC(CBibliotekaDlg, CDialog); CBibliotekaDlg::CBibliotekaDlg(CWnd* pParent /*=NULL*/) : CDialog(CBibliotekaDlg::IDD, pParent) { //{{AFX_DATA_INIT(CBibliotekaDlg) //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_pAutoProxy = NULL; oldMemState.Checkpoint(); } CBibliotekaDlg::~CBibliotekaDlg() { // If there is an automation proxy for this dialog, set // its back pointer to this dialog to NULL, so it knows // the dialog has been deleted. if (m_pAutoProxy != NULL) m_pAutoProxy->m_pDialog = NULL; } void CBibliotekaDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CBibliotekaDlg) DDX_Control(pDX, IDC_LIST1, m_books); DDX_Control(pDX, IDC_LIST2, m_students); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CBibliotekaDlg, CDialog) //{{AFX_MSG_MAP(CBibliotekaDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_CLOSE() ON_BN_CLICKED(IDC_BUTTON3_find_book_by_key, OnBUTTON3findbookbykey) ON_BN_CLICKED(IDC_BUTTON1_read_book_base, OnBUTTON1readbookbase) ON_BN_CLICKED(IDC_BUTTON2_read_student_base, OnBUTTON2readstudentbase) ON_BN_CLICKED(IDC_BUTTON11_find_book_in_student, OnBUTTON11findbookinstudent) ON_BN_CLICKED(IDC_BUTTON12_find_student_with_book, OnBUTTON12findstudentwithbook) ON_BN_CLICKED(IDC_BUTTON4_new_book, OnBUTTON4newbook) ON_BN_CLICKED(IDC_BUTTON5_new_student, OnBUTTON5newstudent) ON_BN_CLICKED(IDC_BUTTON6_delete_book, OnBUTTON6deletebook) ON_BN_CLICKED(IDC_BUTTON7_delete_student, OnBUTTON7deletestudent) ON_BN_CLICKED(IDC_BUTTON10_find_student_by_key, OnBUTTON10findstudentbykey) ON_BN_CLICKED(IDC_BUTTON15_take_book, OnBUTTON15takebook) ON_BN_CLICKED(IDC_BUTTON16_bring_book, OnBUTTON16bringbook) ON_BN_CLICKED(IDC_BUTTON8_write_book_base, OnBUTTON8writebookbase) ON_BN_CLICKED(IDC_BUTTON9_write_student_base, OnBUTTON9writestudentbase) ON_BN_CLICKED(IDC_BUTTON13_change_book, OnBUTTON13changebook) ON_BN_CLICKED(IDC_BUTTON14_change_student, OnBUTTON14changestudent) ON_WM_SHOWWINDOW() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBibliotekaDlg message handlers BOOL CBibliotekaDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. CAboutDlg dlgAbout; dlgAbout.DoModal(); // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control } void CBibliotekaDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CBibliotekaDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CBibliotekaDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } // Automation servers should not exit when a user closes the UI // if a controller still holds on to one of its objects. These // message handlers make sure that if the proxy is still in use, // then the UI is hidden but the dialog remains around if it // is dismissed. void CBibliotekaDlg::ShutDown()//при выходе (запись в файлы и очистка памяти) { if (spis_book!=NULL) { lpFileName="books.txt"; hWrite=CreateFile( lpFileName, // pointer to name of the file GENERIC_WRITE, // access (read-write) mode 0, // share mode NULL, // pointer to security attributes CREATE_ALWAYS, // how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL // handle to file with attributes to copy ); if (hWrite!=INVALID_HANDLE_VALUE) { spis_book->infile('b', hWrite); CloseHandle( hWrite ); }; }; if (spis_stud!=NULL) { lpFileName="students.txt"; hWrite=CreateFile( lpFileName, // pointer to name of the file GENERIC_WRITE, // access (read-write) mode 0, // share mode NULL, // pointer to security attributes CREATE_ALWAYS, // how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL // handle to file with attributes to copy ); if (hWrite!=INVALID_HANDLE_VALUE) { spis_stud->infile('s', hWrite); CloseHandle( hWrite ); }; }; spis_stud=spis_stud->del_spisok(); spis_book=spis_book->del_spisok(); newMemState.Checkpoint(); if( diffMemState.Difference( oldMemState, newMemState ) ) { CAboutDlg dlgAbout; dlgAbout.DoModal(); _getch(); }; } void CBibliotekaDlg::OnClose() { ShutDown(); if (CanExit()) CDialog::OnClose(); } void CBibliotekaDlg::OnCancel() { ShutDown(); if (CanExit()) CDialog::OnCancel(); } BOOL CBibliotekaDlg::CanExit() { // If the proxy object is still around, then the automation // controller is still holding on to this application. Leave // the dialog around, but hide its UI. if (m_pAutoProxy != NULL) { ShowWindow(SW_HIDE); return FALSE; } return TRUE; } void CBibliotekaDlg::OnBUTTON1readbookbase()//чтение из файла базы книг { if (spis_book==NULL) { lpFileName="books.txt"; hWrite=CreateFile( lpFileName, // pointer to name of the file GENERIC_READ, // access (read-write) mode 0, // share mode NULL,// pointer to security attributes OPEN_EXISTING,// how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL// handle to file with attributes to copy ); if (hWrite!=INVALID_HANDLE_VALUE) { spis_book=spis_book->outfile('b',hWrite); CloseHandle( hWrite ); MessageBox("База книг успешно считана!"); } else {MessageBox("Не существует файла базы книг!");}; } else {MessageBox("В памяти уже есть считанная база книг!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON2readstudentbase()//чтение из файла базы студентов { if (spis_stud==NULL) { lpFileName="students.txt"; hWrite=CreateFile( lpFileName, // pointer to name of the file GENERIC_READ, // access (read-write) mode 0, // share mode NULL,// pointer to security attributes OPEN_EXISTING,// how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL// handle to file with attributes to copy ); if (hWrite!=INVALID_HANDLE_VALUE) { spis_stud=spis_stud->outfile('s',hWrite); CloseHandle( hWrite ); MessageBox("База студентов успешно считана!"); } else {MessageBox("Не существует файла базы студентов!");}; } else {MessageBox("В памяти уже есть считанная база студентов!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON11findbookinstudent()//поиск книги у студентов { //проверка, что подгружены обе базы if ((spis_stud!=NULL)&&(spis_book!=NULL)) { Find_book_in_student dlg; dlg.DoModal(); } else {MessageBox("Не существует базы книг или студентов!");}; } void CBibliotekaDlg::OnBUTTON3findbookbykey()//поиск студентов по ключу { //проверка, что база уже есть if (spis_book!=NULL) { Find_book_by_key dlg; dlg.DoModal(); } else {MessageBox("Не существует базы книг!");}; } void CBibliotekaDlg::OnBUTTON12findstudentwithbook()//поиск студентов по выданной книге { if ((spis_stud!=NULL)&&(spis_book!=NULL)) { Find_student_and_his_book dlg; dlg.DoModal(); } else {MessageBox("Не существует базы студентов или книг!");}; } void CBibliotekaDlg::OnBUTTON4newbook() //занесение новой книги в список { New_book dlg; dlg.DoModal(); this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON5newstudent() //занесение нового студента в список { New_student dlg; dlg.DoModal(); this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON6deletebook() //удаление книги из списка книг { if (spis_book!=NULL) { Delete_book dlg; dlg.DoModal(); } else {MessageBox("Не существует базы книг!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON7deletestudent() //удаление студента из списка студентов { if (spis_stud!=NULL) { Delete_student dlg; dlg.DoModal(); } else {MessageBox("Не существует базы студентов!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON10findstudentbykey()//поиск книги по ключу { if (spis_stud!=NULL) { Find_student_by_key dlg; dlg.DoModal(); } else {MessageBox("Не существует базы студентов!");}; } void CBibliotekaDlg::OnBUTTON15takebook()//взять книгу { if ((spis_stud!=NULL)&&(spis_book!=NULL)) { Take_book dlg; dlg.DoModal(); } else {MessageBox("Не существует базы книг или студентов!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON16bringbook()//выдать книгу { if ((spis_stud!=NULL)&&(spis_book!=NULL)) { Bring_book dlg; dlg.DoModal(); } else {MessageBox("Не существует базы книг или студентов!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON8writebookbase()//запись в файл базы книг { if (spis_book!=NULL) { lpFileName="books.txt"; hWrite=CreateFile( lpFileName, // pointer to name of the file GENERIC_WRITE, // access (read-write) mode 0, // share mode NULL, // pointer to security attributes CREATE_ALWAYS, // how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL // handle to file with attributes to copy ); if (hWrite!=INVALID_HANDLE_VALUE) { spis_book->infile('b', hWrite); CloseHandle( hWrite ); MessageBox("База книг успешно записана!"); } else {MessageBox("Невозможно записать базу книг!");}; } else {MessageBox("База книг не подгружена!!!");}; } void CBibliotekaDlg::OnBUTTON9writestudentbase() //запись в файл базы студентов { if (spis_stud!=NULL) { lpFileName="students.txt"; hWrite=CreateFile( lpFileName, // pointer to name of the file GENERIC_WRITE, // access (read-write) mode 0, // share mode NULL, // pointer to security attributes CREATE_ALWAYS, // how to create FILE_ATTRIBUTE_NORMAL,// file attributes NULL // handle to file with attributes to copy ); if (hWrite!=INVALID_HANDLE_VALUE) { spis_stud->infile('s', hWrite); CloseHandle( hWrite ); MessageBox("База студентов успешно записана!"); } else {MessageBox("Невозможно записать базу студентов!");}; } else {MessageBox("База студентов не подгружена!!!");}; } void CBibliotekaDlg::OnBUTTON13changebook() //изменение параметров книги { if (spis_book!=NULL) { //найти книгу Enter_nomer_of_changed_book dlg; dlg.DoModal(); if (kniga!=NULL) { CChange_book dlg; dlg.DoModal(); }; } else {MessageBox("Не существует базы книг!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnBUTTON14changestudent() //изменение параметров студента { if (spis_stud!=NULL) { Enter_nomer_of_changed_student dlg;//найти студента dlg.DoModal(); if (stud!=NULL) { CChange_student dlg; dlg.DoModal(); }; } else {MessageBox("Не существует базы студентов!");}; this->OnShowWindow(true,NULL); } void CBibliotekaDlg::OnShowWindow(BOOL bShow, UINT nStatus) //печать текущего списка студентов и книг { //CDialog::OnShowWindow(bShow, nStatus); m_students.ResetContent(); m_books.ResetContent(); m_books.SetHorizontalExtent(1000); m_students.SetHorizontalExtent(1000); if (spis_stud!=NULL) { CString s; spisok* temp=spis_stud; while (temp!=NULL) { // stud=((student*)(temp->spelt())); s="Номер билета: "+myconv(stud->outnomzap())+" Фамилия: " +stud->out_familia()+" Имя: "+stud->out_imia() +" Отчество: "+stud->out_otchestvo()+" Университет: " +stud->out_univer()+" Группа: "+myconv(stud->out_gruppa()) +" Продлен : "+myconv(stud->out_prodlen()); m_students.AddString(s); temp=temp->spnext(); }; } else { m_students.AddString("Нет базы со студентами"); }; if (spis_book!=NULL) { CString s; spisok* temp=spis_book; while (temp!=NULL) { kniga=((card*)(temp->spelt())); s="Номер книги: "+myconv(kniga->outnomzap())+" Название: " +kniga->out_nazvanie()+" Автор: "+kniga->out_familia() +" "+kniga->out_imia()+" "+kniga->out_otchestvo() +" Издательство: "+kniga->out_izdv()+" Издание: " +myconv(kniga->out_izdn())+" Тема: "+kniga->out_tema() +" Год: "+myconv(kniga->out_year())+" В наличии: " +myconv(kniga->out_kol()-kniga->out_vid()); m_books.AddString(s); temp=temp->spnext(); }; } else {m_books.AddString("Нет базы с книгами");} } // Bring_book.cpp : implementation file // #include "stdafx.h" #include "biblioteka.h" #include "Bring_book.h" #include "MyClasses.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // Bring_book dialog Bring_book::Bring_book(CWnd* pParent /*=NULL*/) : CDialog(Bring_book::IDD, pParent) { //{{AFX_DATA_INIT(Bring_book) m_nomer_of_book = _T(""); m_nomer_of_student = _T(""); //}}AFX_DATA_INIT } void Bring_book::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(Bring_book) DDX_Text(pDX, IDC_EDIT1_nomer_of_book, m_nomer_of_book); DDV_MaxChars(pDX, m_nomer_of_book, 6); DDX_Text(pDX, IDC_EDIT9_nomer_of_student, m_nomer_of
Антиботан аватар за замовчуванням

13.06.2018 21:46

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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