Створення багатомодульних програмних проектів зі створення та опрацювання даних у файлах засобами Visual C++

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    894,05 Кб
  • Опубликовано:
    2016-01-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Створення багатомодульних програмних проектів зі створення та опрацювання даних у файлах засобами Visual C++

Міністерство освітиі науки України

Одеська національна академія зв'язку ім. О.С. Попова

Кафедра інформаційних технологій








КУРСОВА РОБОТА

з дисципліни: "Основи програмування"

на тему: "Створення багатомодульних програмних проектів зі створення та опрацювання даних у файлах засобами Visual C++"



cтудента 1-го курсу, групи ПІ-1.01.01

Якуца Олега Віталійовича

Керівник  доцент, к.т.н. Трофименко О.Г.




Одеса 2015

Вступ

Популярне інтегроване середовище розробки програмного забезпечення Visual С++ є частиною комплекту Microsoft Visual Studio, а, крім того, воно постачається у вигляді безкоштовного функціонально обмеженого комплекту Visual C++ UltimateEdition. Стандартизована мова програмування Visual С++ дозволяє розробляти як консольні програми, так і програми з графічним інтерфейсом, у тому числі, з підтримкою технології Windows Forms як в рідному, так і в керованому кодах для різних комп’ютерних систем. Поєднання простоти освоєння візуального середовища проектування і підтримка широкого спектра технологій роблять Visual С++ універсальним інструментом створювання програмних проектів будьякого рівня складності як для платформи .NET Framework, так і для виконання у середовищі "чистої" Windows.

Тематика роботи зумовлена тим, що більшість комп'ютерних програм, які розв’язують ті чи інші практичні завдання, зберігають дані у вигляді різнотипних файлів, і тому виникає необхідність програмно створювати, видаляти, записувати читати, відкривати файли. Visual C++ пропонує широкий спектр засобів зі створення бінарних (двійкових) та текстових файлів. На практиці доцільним є створення основного файла (чи файлів) з даними у двійковому форматі, оскільки цей формат не потребує додаткового місця, а, отже, і пам’яті для символів-розділювачів (пробілів, табуляцій та ін.). А вже формування звітних документів слід створювати у текстовому форматі (типи файлів txt, rtf, doc тощо).

Актуальність теми курсової роботи "Створення багатомодульних програмних проектів для опрацювання даних у файлах засобами Visual C++" зумовлена повсюдною практичною затребуваністю програмних проектів, які зберігають дані у файлах. Тобто програма сама має створювати файли того чи іншого формату, записувати у них дані, за вимогою виводити або всі дані файла, або лише ті, які задовольняють певній умові, вміти редагувати і видаляти певні дані файла, надавати можливість створення нових файлів (звітних документів) з певними даними з основного файла та ін.

Об'єктом дослідження є технології Visual Studio зі створення багатомодульних проектів та технології опрацювання даних, які зберігаються у файлах. файл дані багатомодульний програмний

Предмет дослідження - програмні засоби Visual C++ для створення файлів різних форматів, записування у них даних, виведення вмісту цих файлів, відбирання даних за умовою, можливості редагування файла і видалення певних даних з файла, створення нових файлів (звітних документів) з певними даними з основного файла, засоби для створення програмних проектів з декількома динамічними формами та взаємодії між ними.

Мета курсової роботи полягає у вивченні технологій Visual C++ програмного створення файлів даних з можливістю їх програмного редагування (дописування, змінювання чи видалення даних) та набуття навиків розробки програмних проектів з візуальним інтерфейсом, організованих за допомогою меню, діалогових вікон, декількох взаємодіючих форм та ін. Відповідно до поставленої мети визначено такі завдання:

розкрити сутність технологій Visual Studio зі створення багатомодульних проектів;

вивчити наявні програмні засоби Visual C++, які дозволяють створювати файли різних форматів, записувати у них даних, переглядати вміст цих файлів, відбирати дані за умовою, редагувати дані у файлах;

розробити програмний проект для розв’язання завдання відповідно до індивідуального варіанта, який передбачає створення, заповнення даними, відбір та редагування файлів різних форматів.

Курсова робота є самостійною роботою студента, яка передбачає закріплення та розширення теоретичних знань з дисципліни "Основи програмування".

Індивідуальне завдання:

Засобами Visual С++ створити програмний проект, який включатиме створення та опрацювання бінарного і текстового файлів з даними відповідно до індивідуального варіанта. При створенні програмного проекту передбачити виконання таких завдань:

програмне створення бінарного файла і заповнення його такими даними

про студентів:ПІП,група,дата народження,екзаменаційний бал з:історіі,мат-аналізу,Основ програмування,наявність пропусків;

) програмний перегляд даних створеного бінарного файла;

) можливість редагування та зберігання відредагованого файла;

) впорядкування (сортування) за алфавітом;

) відбір даних файла за умовою: Студенті які не мають балів нижче 75;

) можливість програмного відбору даних за умовою (іменинники цього місяця) та створення на основі відібраних даних текстового звітного документа;

) Видалення даних бінарного файла за умовою: наявність пропусків без поважної причини;

) з метою забезпечення інформаційної частини проекту, а саме: для надання інформації про автора роботи та для ознайомлення із завданням, яке розв’язує проект, створити три додаткові форми:

а)про автора

б)форму для виведення, редагування та форматування параметрів шрифту текстового документа із завданням

в)форму-заставку, перехід до створених форм та додаткових функцій для роботи з файлом даних організувати за допомогою меню.

)Додаткове завдання: Створення фонової музики,та звуків натискання.

Розділ 1.Теоретичні відомості: інструментарій використовуваний для розв’язання завдання

.1 Робота з файлами

Файлами є іменовані області пам’яті на зовнішньому носії, призначені для довготривалого зберігання інформації. Файли мають імена й є організовані в ієрархічну деревоподібну структуру з каталогів (тек) і простих файлів.

Часто використовується така метафора: якщо уявляти собі файли як книжки (лише зчитування) і блокноти (зчитування й записування), які стоять на полиці, то відкриття файла - це вибір книжки чи блокнота за заголовком на його обкладинці й відкриття обкладинки (на першій сторінці). Після відкриття можна читати, дописувати, викреслювати і правити записи, перегортати книжку. Сторінки можна зіставити з блоками файла, а полицю з книжками - з каталогом.

Для доступу до даних файла з програми в ній слід прописати функцію відкриття чи створення цього файла, тим самим встановити зв’язок між ім’ям файла і певною файловою змінною у програмі. Доступ до даних файла відбувається з так званої позиції зчитування-записування, яка автоматично просувається при операціях зчитування-записування. Існують, щоправда, функції для довільного змінювання цієї позиції.

С++ надає засоби опрацювання двох типів файлів: текстових і бінарних (двійкових).

Текстові файли призначено для зберігання текстів, тобто сукупності символьних рядків змінної довжини. Кожен рядок завершується керувальною послідовністю '\n', а розділювачами слів та чисел у рядку є пробіли й символи табуляції. Оскільки вся інформація текстового файла є символьною, програмне опрацювання такого файла полягає в читанні рядків, виокремлюванні з рядка слів і, за потреби, перетворюванні цифрових символьних послідовностей на числа відповідними функціями перетворювання. Створювати і редагувати текстові файли можна не лише в програмі, а і в якому завгодно текстовому редакторі, наприклад, Word, WordPad чи Блокноті.

Бінарні (двійкові) файли зберігають дані у тому самому форматі, в якому вони були оголошені, а їхній вигляд є такий самий, як і в пам’яті комп’ютера. І тому відпадає потреба у використанні розділювачів: пробілів, керувальних послідовностей, а отже, розмір використовуваної пам’яті порівняно з текстовими файлами з аналогічною інформацією є значно меншим. Окрім того, немає потреби у застосуванні функцій перетворювання числових даних. Але кожне опрацювання даних бінарних файлів можливе лише за наявності програми, якій має бути відомо, що саме і в якій послідовності зберігається у цьому файлі.

У цій роботі будуть розглянуті основні засоби створення й опрацювання текстових файлів з використанням спеціального простору імен System::IO платформи .NET Framework, хоча слід зазначити, що існують й інші підходи при роботі з файлами.

.2 Створення бінарного файла

Створити бінарний файл з ім’ям Test.dat у поточному каталозі можна командою:

BinaryWriter^fb=gcnew BinaryWriter (File::Open ("Test.dat",FileMode::OpenOrCreate));

або двома командами:^ data = gcnew FileStream ("Test.dat", FileMode::OpenOrCreate); ^ fb = gcnew BinaryWriter (data);

При цьому режим відкриття OpenOrCreate дозволить не обнуляти вже існуючий файл (якщо такий є), а лише відкрити його.

Якщо створюваний файл слід розмістити не в поточному каталозі, а в якомусь іншому, слід зазначити повний шлях до файла.

Записати у файл рядок s можна за допомогою метода : String^ s = "Текст, який буде записано у файл окремим абзацом."; >WriteLine (s);

Дописати дані у кінець файла можна командою:::AppendAllText ("MyTest.rtf", "Текст, який буде дописано у файл\n");

При цьому, якщо файл з таким ім’ям не існував, він буде створений, тобто метод AppendAllText і створює файл, і відкриває його, і дописує у нього дані, поєднуючи можливості відразу декількох методів.

Для зчитування рядків текстового файла слід спочатку створити екземпляр класу StreamReader, після чого по черзі зчитувати всі рядки з файла:

StreamReader^ ft = File::OpenText ("MyTest.rtf"); ^ s = ""; while ( s = ft->ReadLine ( ) ) Console::WriteLine ( s );

У наведеному циклі умовою припинення зчитування рядків з файла є нульове значення довжини зчитаного рядка. Така конструкція операторів дозволить переглянути вміст всього текстового файла у консольному режимі.

Переміщуватися по файлу можна не лише при зчитуванні даних, а й за допомогою метода Seek, наприклад:

ft->BaseStream->Seek (0, SeekOrigin::Begin); // перейти на початок файла>BaseStream->Seek (0, SeekOrigin::End); // перейти у кінець файла

Закрити файл доречно командою ft->Close ( );

1.3 Використання dataGridView при роботі з даними файлів

Елемент dataGridView на формі можна використовувати не лише для введення-виведення матриць, адже цей елемент має широкий спектр налаштовуваних властивостей, завдяки яким можна задавати різні властивості для різних стовпців елемента. Цю можливість доволі зручно використовувати для введення-виведення даних бінарних файлів, поля яких мають різні типи даних: числові, рядкові, логічні, списки та ін.

Розглянемо докладніше налаштування dataGridView. Після розміщення такого елемента на формі доцільно почергово створити на ньому необхідну кількість стовпців і при їх створенні відразу задати тип даних, заголовки та інші необхідні значення стовпців, наприклад:

у властивості HeaderText доцільно вписати текст заголовка відповідного стовпця;

у властивості ColumnType замість значення за замовчуванням (DataGridViewTextBoxColumn) для текстових і рядкових даних вибрати зі списку одне з можливих значень:

DataGridViewComboBoxColumn - список з набором можливих текстових значень, для якого у властивості Items доцільно через Enter вписати текст можливих значень, наприклад: назви операторів мобільного зв’язку, назви посад співробітників чи то назви студентських груп;

DataGridViewCheckBoxColumn - зазвичай відповідає логічному типу (значення true та false);

DataGridViewImageColumn - використовується для виведення зображень;

DataGridViewButtonColumn - використовується для виведення кнопок у клітинках таблиці;

властивість AllowUserToAddRows дозволяє додавати нові рядки таблиці при заповненні значень останнього рядка таблиці (за замовчуванням значення true). Значення false забороняє автоматичне додавання нового рядка;

RowHeadersVisible дозволяє приховати заголовки рядків при значенні false;

властивість RowCount зберігає значення кількості рядків;

властивість ColumnCount зберігає значення кількості стовпців;

властивість Width задає ширину стовпця у пікселях;

властивість ToolTipText містить текст підказки, яка виводитиметься при наведенні покажчика миші на заголовок стовпця;

властивість AutoSizeMode дає можливість вибрати режим автоматичного формування ширини того чи іншого стовпця. Приміром, значення AllCells задасть автоматичний підбір ширини стовпця по максимальному вмісту стовпця;

властивість ReadOnly вмикає-вимикає дозвіл редагування даних у стовпці;

властивість SortMode надає можливість задавати режим автоматичного сортування даних у стовпці.

Columns - колекція стовпців;

Rows - колекція рядків;

Font - параметри шрифту.

Розділ 2. Програмний код основного модуля з поясненнями

#pragma once

#include "Avtor.h"

#include "Zavdan.h"

#include"Zastavka.h"

#include"browser.h"

…………............namespace System; namespace System::IO;

…………............^fname;

//кнопка що записуєдані до бінарого файлу

private: System::Void button1_Click (System::Object^sender,System::EventArgs^e)

{^fb=gcnew BinaryWriter (File::Open (fname,FileMode::OpenOrCreate)); >Seek (0,SeekOrigin::End);

{k=dataGridView1->Rows->GetRowCount (DataGridViewElementStates::Visible); (int i=0; i<k-1; i++)

{^номер=Convert::ToString (dataGridView1[0,i]->Value); ^фио=Convert::ToString (dataGridView1[1,i]->Value); ^пол=Convert::ToString (dataGridView1[2,i]->Value); ^долж=Convert::ToString (dataGridView1[3,i]->Value); ^прием=Convert::ToString (dataGridView1[4,i]->Value); ^семья=Convert::ToString (dataGridView1[5,i]->Value); дети=Convert::ToBoolean (dataGridView1[6,i]->Value); >Write (номер); fb->Write (фио); fb->Write (пол); >Write (долж); fb->Write (прием); fb->Write (семья); fb->Write (дети);

}->Rows->Clear ( );

}finally{fb->Close ( ); }

}

//кнопка, що виводить дані з бінарного файлу

private: System::Void button2_Click (System::Object^sender,System::EventArgs^e)

{->Rows->Clear ( ); (File::Exists (fname)==false){MessageBox::Show ("file not exists"); ; }^fb=gcnew BinaryReader (File::OpenRead (fname)); {(fb->BaseStream->Position<fb->BaseStream->Length)

{^номер=fb->ReadString ( ); ^фио=fb->ReadString ( ); ^пол=fb->ReadString ( ); ^долж=fb->ReadString ( ); ^прием=fb->ReadString ( ); ^семья=fb->ReadString ( ); дети=fb->ReadBoolean ( ); ->Rows->Add (номер,фио,пол,долж,прием,семья,дети);

}}{fb->Close ( ); }

}

//кнопка, що зберігає зміни у бінарному файлі: System::Void button3_Click(System::Object^sender,System::EventArgs^e)

{^fb=gcnew BinaryWriter (File::Open (fname,FileMode::Create)); >Seek (0,SeekOrigin::End);

{kol=dataGridView2->Rows->GetRowCount (DataGridViewElementStates::Visible); for (int i=0; i<kol; i++)

{^номер=Convert::ToString (dataGridView1[0,i]->Value); ^фио=Convert::ToString (dataGridView1[1,i]->Value); ^пол=Convert::ToString (dataGridView1[2,i]->Value); ^долж=Convert::ToString (dataGridView1[3,i]->Value); ^прием=Convert::ToString (dataGridView1[4,i]->Value); ^семья=Convert::ToString (dataGridView1[5,i]->Value); дети=Convert::ToBoolean (dataGridView1[6,i]->Value); >Write (номер); fb->Write (фио); fb->Write (пол); >Write (долж); fb->Write (прием); fb->Write (семья); fb->Write (дети);

}

}{fb->Close ( ); }

}: System::Void For m1_Load (System::Object^sender,System::EventArgs^e)

{="yakuts.bin"; >Hide ( ); ^fr4=gcnew Zastavka ( ); ->ShowDialog ( );

}

//кнопка, що сортирує дані за алфавітом за ФИО

private: System::Void button4_Click (System::Object^sender,System::EventArgs^e)

{_Click (button2,e); ->Sort (dataGridView2->Columns[1],ListSortDirection::Ascending);

}

//кнопка, що виводить“работников-мужчин со стажем 10 лет”

private: System::Void button5_Click (System::Object^sender,System::EventArgs^e)

{/->Rows->Clear ( ); (File::Exists (fname)==false)

{MessageBox::Show ("file not exists"); return; }^fb=gcnew BinaryReader (File::OpenRead (fname));

{(fb->BaseStream->Position<fb->BaseStream->Length)

{^номер=fb->ReadString ( ); ^фио=fb->ReadString ( ); ^пол=fb->ReadString ( ); ^долж=fb->ReadString ( ); ^прием=fb->ReadString ( ); ^семья=fb->ReadString ( ); дети=fb->ReadBoolean ( ); дата=Convert::ToDateTime (прием); разница=DateTime::Today-дата; (пол=="М"&&разница.Days/365.25>=10)dataGridView3->Rows->Add (номер,фио,пол,долж,прием,семья,дети);

}

}finally{fb->Close ( ); }

}

//кнопка, що виводить «новые кадры этого года»: System::Void button6_Click (System::Object^sender,System::EventArgs^e)

{//кнопка що виводить «новые кадры этого года»

int i=0; ->Rows->Clear ( ); (File::Exists (fname)==false)

{MessageBox::Show ("file not exists"); return; }^fb=gcnew BinaryReader (File::OpenRead (fname)); ^ft=gcnew StreamWriter (File::OpenWrite ("Співробітники.doc"));

{>WriteLine ("\tСімейніспівробітники,якімаютьнеповнолітніхдітей"); (fb->BaseStream->Position<fb->BaseStream->Length)

{^номер=fb->ReadString ( ); ^фио=fb->ReadString ( ); ^пол=fb->ReadString ( ); ^долж=fb->ReadString ( ); ^прием=fb->ReadString ( ); ^семья=fb->ReadString ( ); дети=fb->ReadBoolean ( ); (семья=="Женат"&&дети||семья=="Замужем"&&дети)

{->Rows->Add (номер,фио,пол,долж,прием,семья,дети); ->Rows[i]->HeaderCell->Value= (i+1).ToString ( ); ++; ^s=номер+"\t"+фио+"\t"+пол+"\t"+долж+"\t"+прием+"\t"+семья+"\t"+дети; >WriteLine (s);

}}}{fb->Close ( ); ft->Close ( ); }

}

Розділ 3.Створення додаткових форм та меню

//кнопка, що показує інформацію про файл

private: System::VoidдовідкаToolStripMenuItem_Click (System::Object^sender,System::EventArgs^e)

{(!File::Exists (fname))

{MessageBox::Show ("file not exists"); return; }^f=gcnew FileInfo (fname); ::Show ("Повнеім'яфайлазданими-"+f->FullName+"\nРозмірфайла-"+ (f->Length).ToString ( )+"байтів.\nЧасстворення-"+f->CreationTime.ToString ( )+"\nЧасостанньоїопераціїдописуванняданих-"+f->LastWriteTime.ToString ( ));

}

private: System::Void резервнеКопіюваняяБінарногоФайлаToolStripMenuItem_Click (System::Object^sender,System::EventArgs^e)

{(!Directory::Exists ("Copy"))::CreateDirectory ("Copy"); ^f=gcnew FileInfo (fname); >CopyTo ("Copy\\"+fname,true);

}

//кнопка, що виключає програму: System::Void вихыдToolStripMenuItem_Click(System::Object^sender,System::EventArgs^e)

{( );

}

//кнопка, що показує інформацію про автора

private: System::Void проАвтораToolStripMenuItem_Click_1 (System::Object^sender,System::EventArgs^e)

{^fr2= gcnew Avtor ( ); fr2->ShowDialog ( );

}

//кнопка, що показує форму з завданням

private: System::Void проЗавданняToolStripMenuItem_Click_1 (System::Object^sender,System::EventArgs^e)

{^fr3= gcnew Zavdan ( ); fr3->ShowDialog ( );

}

//кнопка, що видаляє дані про сімейних працівників, що мають неповнолітніх дітей: System::Void button7_Click (System::Object^sender,System::EventArgs^e)

{i=0; ->Rows->Clear ( ); (File::Exists (fname)==false)

{::Show ("file not exists"); ;

}^fb= gcnew BinaryReader (File::OpenRead (fname)); ^tmp= gcnew BinaryWriter (File::Open ("tmp.bin",FileMode::Create));

{(fb->BaseStream->Position<fb->BaseStream->Length)

{^номер=fb->ReadString ( ); ^фио=fb->ReadString ( ); ^пол=fb->ReadString ( ); ^долж=fb->ReadString ( ); ^прием=fb->ReadString ( ); ^семья=fb->ReadString ( ); дети=fb->ReadBoolean ( ); (DateTime::Today.Year==Convert::ToDateTime (прием).Year)

{->Rows->Add (номер,фио,пол,долж,прием,семья,дети); ->Rows[i]->HeaderCell->Value= (i+1).ToString ( ); ++;

}

{>Write (номер); tmp->Write (фио); tmp->Write (пол); >Write (долж); tmp->Write (прием); tmp->Write (семья); tmp->Write (дети);

}}>Close ( ); (!i)

{::Show ("Такихзаписівуфайлінеіснує"); ::Delete ("tmp.bin");

}(MessageBox::Show (L"Видійснобажаєтевидалитицізаписизфайла?",L"Видалитиданізфайла?",System::Windows::For ms::MessageBoxButtons::YesNo)==System::Windows::For ms::DialogResult::Yes)

{>Close ( ); ::Replace ("tmp.bin",fname,"Copy\\"+fname); ->Rows->Clear ( ); ::Show ("Дляпереглядуновоговмістуфайлаперейдітьнадругувкладку.");

}File::Delete ("tmp.bin");

}{fb->Close ( ); }

}

//кнопка, що очищає бінарний файл: System::Void очичтитиБінарнийФайлToolStripMenuItem_Click (System::Object^sender,System::EventArgs^e)

{^fb= gcnew BinaryWriter (File::Open (fname,FileMode::Create)); >Close ( ); dataGridView2->Rows->Clear ( );

}

Додатково я вирішив додати до свого завдання форму з браузером, у якій можливо переглядати деяку веб-інформацію.

//кнопка, що відкриває браузер з веб-інформацією

private: System::Void вебинформацияToolStripMenuItem_Click (System::Object^sender,System::EventArgs^e)

{^fr4= gcnew browser ( ); fr4->ShowDialog ( );

}

Код формы з браузером:

//Кнопка яка відкриває в елементі browser1(WebBrawser)сторінку, адрес сторінки //береться з елементу address(TextBox): System::Void start_Click(System::Object^sender,System::EventArgs^ e)

{->Navigate(adress->Text);

}

//Кнопка якапереходить на сторінку “google.com”: System::Void home_Click(System::Object^ sender, System::EventArgs^ e)

{->Navigate("#"871700.files/image001.jpg">

Рис. 4.1. Вигляд головної форми після натиснення кнопки "Просмотр бинарного файла" на вкладці "Вывод содержания файла"

Рис. 4.2. Вигляд головної форми після натиснення кнопки "Сортировка за алфавитом" на вкладці "Вывод содержания файла"

Рис. 4.3. Вигляд головної форми після натиснення кнопки "Работники со стаем больше 10 лет" на вкладці "Выбор данных а условием"

Рис. 4.4. Вигляд головної форми після натиснення кнопки "Семейные работники имеющие несовершеннолетних детей" на вкладці "Формирование текстового файла" й вигляд самого текстового файла.

Рис. 4.5. Вигляд головної форми після натиснення кнопки "Новые кадры этого года" на вкладці "Выбор данных за условием"

Рис. 4.6.1 Початкова сторінка

Рис. 4.6.2 Адрес сторінки в елементі «adress»

Рис 4.6.3«Сайт компанїї»

Рис 4.6.3«Страница автора»

Рис 4.6.3«Написать письмо автору»

Висновки

В ході курсової роботи я на практиці застосував своїзнання створення файлів даних засобами Visual Studio C++ з можливістю редагування, дописування та видалення даних. Набув навиків роботи з візуальним інтерфейсом, створенням: меню, діалогових вікон, декількох взаємодіючих форм.Додатково я вивчив створення форми звеб-браузером на формі використовуючи елемент WebBrowser и toolStript.

Список використаних джерел

. Библиотека классов платформы .NET Framework. [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/ru-ru/library/gg145045 (v=vs.110).aspx. - Название с экрана.

. Зиборов В. В. MS Visual C++ 2010 в среде .NET. Библиотека программиста / Зиборов В. В. - СПб. : Питер, 2012. - 320 с.

. Хортон А. Visual C++ 2010: полный курс.; пер. с англ. / Хортон А. - М. : ООО "И.Д. Вильямс", 2011. - 1216 с.

. Visual C++ .NET: пособие для разработчиков C++ / [А. Корера, С. Фрейзер, С. Джентайл и др.]. - М. : ЛОРИ, 2003. - 398 с.

. Дейтел Х. М. Как программировать на С++; пер с англ. / Х. М. Дейтел, П. Дж. Дейтел. - М. : ООО "Бином-Пресс", 2008. - 1456 с.

. Стивен Прата. Язык программирования С++. Лекции и упражнения : учебник ; пер с англ. / Стивен Прата. - СПб.: ООО "ДиаСофтЮП", 2005. - 1104 с.

. Страуструп Б. Язык программирования С++. Специальное издание ; пер. с англ. / Страуструп Б. - М. : ООО "Бином-Пресс", 2006. - 1104 с.

. C++. Основи програмування. Теорія та практика: підручник / [О. Г. Трофименко, Ю. В. Прокоп, І. Г. Швайко, Л. М. Буката та ін.] ; за ред. О. Г. Трофименко. - Одеса : Фенікс, 2010. - 544 с.

. C++. Теорія та практика: навч. посіб. з грифом МОНУ/ [О. Г. Трофименко, Ю. В. Прокоп, І. Г. Швайко, Л. М. Буката та ін.] ; за ред. О. Г. Трофименко. - Одеса : ВЦ ОНАЗ, 2011. - 587 с.

. Трофименко О. Г. Основи програмування. Базові алгоритми : метод. вказівки для лаб. і практ. робіт / Трофименко О. Г., Прокоп Ю. В., Швайко І. Г., Буката Л. М. - Ч. 1. - Одеса: ВЦ ОНАЗ ім. О. С. Попова, 2014. - 108 с.

. Трофименко О. Г. Основи програмування. Опрацювання структурованих типів : метод. вказівки для лаб. і практ. робіт / Трофименко О. Г., Прокоп Ю. В., Швайко І. Г., Буката Л. М. - Ч. 2. - Одеса: ВЦ ОНАЗ ім. О. С. Попова, 2014. - 130 с.

Похожие работы на - Створення багатомодульних програмних проектів зі створення та опрацювання даних у файлах засобами Visual C++

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!