Термінологія. База визначень даних

Відомості про мови програмування та методи програмування. Системні вимоги програми. Керівництво програміста та керівництво користувача. Використання консольного додатку візуального середовища Visual Studio 2010. Запуск програми "Толковый словарь".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 18.01.2015
Размер файла 791,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

МАШИНОБУДІВНИЙ КОЛЕДЖ ДДМА

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

Дисципліна Об'єктно-орієнтоване програмування

Тема: Термінологія. База визначень даних

ПОЯСНЮВАЛЬНА ЗАПИСКА

КР 26-РПЗ-11-А 000ПЗ

Студент Зальцман Є.В.

Викладач Олійник О.В.

2013

ЗАВДАННЯ

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

ЗМІСТ

ВСТУП

Загальні відомості про мови програмування та методах програмування

Системні вимоги програми

Керівництво програміста

Керівництво користувача

Техніка безпеки при роботі на ЕОМ

ВИСНОВКИ

СПИСОК ЛІТЕРАТУРИ

ДОДАТОК А

ВСТУП

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

Темою курсової роботи є створення програми «Толковый словарь», яка являє собою базу даних.Існує три напрямки:програмування, математика та російська мова.Користувач може додавати нові терміни,з можливістю сортування їх за напрямками та переглядати усі існуючі терміни.Також у цій програмі можливий пошук за назвою терміну:користувач вводить назву терміну, а програма видає результат.Якщо такий термін є, то виводиться його тлумачення, якщо ні, то повідомлення про те, що нічого не знайдено. Ціль програми:забезпечення швидкого пошуку тлумачень будь-якого терміну. Актуальність вибраної теми зумовлена тим, що у наш час дуже популярні електронні пристрої та носії, тому, встановивши цю програму, не треба носити з собою звичайний словник. Суб'єктом дослідження є студент - програміст, а об'єктом дослідження - база даних.

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

Задачею курсової роботи є використування концепції об'єктно-орієнтованого програмування, схилятися на спеціалізовані засоби розробки програмного забезпечення мовою С ++, вживати основи уніфікованої мови моделювання UML.

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

Курсова робота включає в себе 11 малюнків, 13 джерел зі списка літератури, 1 додаток та 28 аркушів.

ЗАГАЛЬНІ ВІДОМОСТІ ПРО МОВИ ПРОГРАМУВАННЯ ТА МЕТОДИ ПРОГРАМУВАННЯ

Розвиток програмування охоплює наступні етапи.

Перший етап - «стихійне програмування». Цей етап охоплює період від моменту появи перших обчислювальних машин до середини 60-х років 20-го ст. У цей період майже були відсутні сформульовані технології, та програмування фактично було мистецтвом. Перші програми мали найпростішу структуру. Вони складалися з власне програми на машинній мові та оброблюваних нею даних. Складність програми в машинних кодах обмежувалася здатністю програміста одночасно подумки відстежувати послідовність виконуваних операцій і місцезнаходження даних при програмуванні.

Поява асемблерів дозволила замість двійкових або16-річних кодів використовувати символічні імена даних і кодів операцій. В результаті програми стали більш «читаними».

Створення мов програмування високого рівня, таких, як FORTRAN та ALGOL, значно спростило програмування обчислень, знизивши рівень деталізації операцій.

Це, в свою чергу, дозволило збільшити складність програм.

Ідея написання підпрограм з'явилась набагато раніше, але відсутність засобів підтримки у перших мовних засобах значно знижувало ефективність їх застосування. Підпрограми можна було зберігати і використовувати в інших програмах. В результаті були створені величезні бібліотеки розрахункових і службових підпрограм, за мірою потреби викликалися з розроблюваної програми.

Типова програма того часу складалася з основної програми, області глобальних даних та набору підпрограм(в основному бібліотечних). Що виконують обробку усіх даних або їх частин.

Слабким місцем такої архітектури було те, що при збільшенні кількості підпрограм збільшувалася ймовірність спотворення частини глобальних даних будь-якою підпрограмою. Наприклад, підпрограма пошуку корнів управління на заданому інтервалі по методу ділення відрізку навпіл змінює величину інтервалу. Якщо при виході з підпрограми не передбачити відновлення первинного інтервалу, то в глобальній області виявиться невірне значення інтервалу. Щоб скоротити кількість таких помилок, було запропоновано в підпрограмах розміщати локальні дані.

Другий етап - структурний підхід до програмування. Він являє собою сукупність рекомендованих технологічних прийомів, охоплюючи виконання всіх етапів розробки програмного забезпечення. В основі структурного підходу полягає декомпозиція(розбиття на частини) складних систем з ціллю наступної реалізації у вигляді окремих невеликих підпрограм. З появою інших принципів декомпозиції даний спосіб отримав назву процедурної декомпозиції. Серед найбільш відомих мов цієї групи треба назвати PL/1, ALGOL-68, Pascal, С.

Модульне програмування передбачає виділення груп підпрограм, що використовують одні і ті ж самі глобальні дані в окремо компільовані модулі, наприклад, модуль графічних ресурсів, модуль підпрограм виведення на принтер. Цю технологію підтримують сучасні версії мов Pascal та С (C++), мови Ада і Modula.

Третій етап - об'єктний підхід до програмування, що визначається, як технологія створення складного програмного забезпечення, що основується на представленні програми у вигляді сукупності об'єктів, кожний з котрих є екземпляром визначеного типу (класу), а класи утворюють ієрархію з успадкуванням властивостей.

Основною гідністю об'єктно-орієнтованого програмування, якщо зрівнювати з модульним програмуванням, є «більш природна» декомпозиція програмного забезпечення, яка значно облегшує його розробку. Це призводить до більш повної локалізації даних та інтегрування їх з підпрограмами обробки, що дозволяє вести практично незалежну розробку окремих частин (об'єктів) програми. Крім того, об'єктний підхід пропонує нові способи організації програм, що засновані на механізмах успадкування, поліморфізму, композиції, наповнення. Ці механізми дозволяють конструювати складні об'єкти з порівнювано простих. В результаті, значно збільшується показник повторного використання кодів та з'являється можливість створення бібліотек класів для різних використань.

Швидкий розвиток технологій програмування, що засновані на об'єктному підході, дозволив вирішувати більшість проблем. Таким чином були створені середовища, що підтримують візуальне програмування. Наприклад, Delphi, C++ Builder, Visual C++ та ін. При використанні візуального середовища у програміста з'являється можливість проектувати деяку частину. Наприклад, інтерфейси майбутнього продукту, з використанням візуальних засобів додавання та налаштування спеціальних бібліотечних компонентів. Результатом візуального проектування є заготівка майбутньої програми, до якої вже будуть внесені відповідні коди.

СИСТЕМНІ ВИМОГИ ПРОГРАМИ

Операційна система: Windows XP, Windows Vista, Windows 7, Windows 8

Процесор: Intel Pentium Dual Core E2140 1,6 Ghz або AMD Athlon 64Ч2 Dual Core Processor 4400+

Оперативна пам'ять: 128 Мб

Відеокарта: Nvidia, GeForce 6400, 64 Мб або більше

Необхідне місце на жорсткому диску: 1 Гб

КЕРІВНИЦТВО ПРОГРАМІСТА

Опис класів програми зображено в таблиці 1.

Таблиця 1 - Опис класів програми

Клас

Призначення

Клас starting

Містить в собі створення вступного ролику з індикатором завантаження

Клас base

Містить в собі основні методи керування програмою, такі, як: малювання меню та керування у ньому.

Опис методів класа starting зображено в таблиці 2

Таблиця 2 - Опис методів класа starting

Метод

Призначення

start()

Метод показу вступного ролику

Опис методів класа base зображено в таблиці 3.

Таблиця 3 - Опис методів класа base

Метод

Призначення

add ()

Метод додавання нового терміна

menu()

Метод виводу меню програми

search1()

Метод проведення пошуку у категорії «Программирование»

search2()

Метод проведення пошуку у категорії «Математика»

search3()

Метод проведення пошуку у категорії «Русский язык»

searching()

Метод виведення результату пошуку

show1()

Метод перегляду термінів у категорії «Программирование»

show2()

Метод перегляду термінів у категорії «Математика»

show3()

Метод перегляду термінів у категорії «Русский язык»

showing()

Метод вибору категорії для перегляду у неї усіх термінів

Діаграма класів зображена на рисунку 1.

Размещено на http://www.allbest.ru/

Рисунок 1 - Діаграма класів

КЕРІВНИЦТВО КОРИСТУВАЧА

При запуску програми «Толковый словарь» користувачеві видається вступний ролик з індикатором завантаження програми, що зображено на рисунку 2.

Рисунок 2 - Вступний ролик програми

Головне меню ігри зображено на рисунку 3. В нього входить 4 пункти. Пересування по пунктах меню відбувається за допомогою клавіш , , вибір конкретного пункту меню - клавіша ENTER.

Рисунок 3 - Головне меню програми

Перший пункт меню «Добавить термин» показано на рисунку 4 та 5. За умови його вибору можна додати новий термін, вказавши категорію, до якої він відноситься.

Рисунок 4 - Вибір категорії

Рисунок 5 - Додавання нового терміну до категорії «Программирование»

Другий пункт меню під назвою «Показать все категории» показано на рисунку 6 та 7.Користувач може вибрати напрямок та переглянути усі терміни, що у ньому знаходяться.

Рисунок 6 - Вибір категорії для перегляду

Рисунок 7 - Перегляд усіх термінів у категорії «Программирование»

Третій пункт меню «Поиск» зображено на рисунках 8, 9 та 10. Користувач має ввести назву терміну, тлумачення якого потрібно знайти. Якщо такий термін знайдено, виводиться його тлумачення, якщо ні, то повідомлення про те, що такий термін не знайдено.

Рисунок 8 - Пошук за назвою терміну

Рисунок 9 - Результат пошуку

Рисунок 10 - Нічого не знайдено

Четвертий пункт меню «Выход» показаний на рисунку 11. При його натисканні відбудеться завершення програми.

Рисунок 11 - Вихід

ТЕХНІКА БЕЗПЕКИ ПРИ РОБОТІ НА ЕОМ

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

Організація навчання в кабінетах обчислювальної техніки повинна задовольняти наступним умовам:

1. Клас повинен бути в спеціальному приміщенні;

2. Орієнтація вікон на північ або північний схід;

3. Площа на одне робоче місце не менше 6 м2;

4. Висота приміщення не менше 4 м;

5. Робочий стіл одне або двомісний, довжина 70 см, ширина перед клавіатурою 30 см;

6. Температура в приміщенні повинна бути 18-22 Co;

7. Вентиляція приточно-витяжна або кондиціонер;

8. Вологе прибирання у приміщенні з очищенням пилу щодня.

У ПЕОМ є джерела напруги до 15000 В. при необережному зверненні, це напруга може виявитися небезпечним для життя людини. Тому необхідно дотримуватися заходів техніки безпеки при роботі на ПЕОМ:

1. Включати ЕОМ тільки з дозволу керівника робіт;

2. Забороняється доторкатися до відкритих роз'ємів обладнання, які знаходяться під напругою;

3. Забороняється працювати на незаземленних ПЕОМ;

4. Не допускається захаращувати робочі місця і підходи до них різними предметами;

5. Забороняється залишати без нагляду ПЕОМ, що знаходиться під напругою;

6. Не дозволяється проводити роботу одному учню без нагляду викладача;

7. У разі потрапляння кого-небудь під напругу необхідно швидко вимкнути рубильник на силовому шафі і надати медичну допомогу.

програмування консольний додаток візуальний

ВИСНОВКИ

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

С ++, основи уніфікованої мови моделювання UML. Навчилися використовувати та аналізувати основні поняття та методи об'єктно-орієнтованого проектування та програмування, основні засоби розробки програм з використанням багато ієрархічних структур об'єктів та класів об'єктів

Навчилися самостійно вибирати середовище проектування програмних засобів, проектувати, розробляти, налагоджувати та супроводжувати сучасне програмне забезпечення комп'ютерних систем управління.

СПИСОК ЛІТЕРАТУРИ

1. Павловская Т.А. С/С++. Программирование на языке высокого уровня.- СПб.: Питер, 2001.- 464 с.

2. Страуструп Б. Язык программирования С++. Специальное издание.-М., СПб.:”Издательство БИНОМ” - „Невский Диалект”, 2001г.-1099 с.

3. Дейтел Х., Дейтел П. Как программировать на С++. Третье издание.-М.:ЗАО „Издательство БИНОМ”, 2001г.-1152с.

4. Прата Стивен. Язык программирования С. Лекции и упражнения. Учебник._ СПб.: ООО «ДиаСофтЮП», 2002._ 896 с.

5. Шмак Н.К. Основы С++ и объектно-ориентированного программирования. Киев: Диалектика, 1996г.

6. Архангельский А.Я. Программирование в С++.-М.: „Издательство БИНОМ”, 2003г. - 1152с.

7. Лафоре.Р. Объектно-ориентированное программирование в С++.-М.: „Издательство Питер”, 2003г.

8. Черепанцев А.С. Введение в С и С++. Таганрог.

9. Брюс Эккель, Чак Эллисон - Философия C++. Часть 1. Введение в стандартный C++, ++.-М.: „Издательство Питер”, 2004г.

10. Пахомов Б. "C/C++ и MS Visual C++ для начинающих",2009год

11. Фейсон Г. Объектно-ориентированное програмирование на Borland C++.

12. Пол Ирэ Объектно-ориентированное програмирование с использованием С++.К. : НИПФ 1995 Буга

13. Г. Объектно-ориентированное програмирование с примерами применения. - М. - Конкорд, 1992 Приложение

ДОДАТОК А

Лістинг програми:

//директивы препроцессора

#include "stdafx.h"//библиотека для создания предкомпилированного заголовка

#include <locale>//библиотека для подключения различных кодировок текста

#include <iostream>//библиотека для потокового ввода/вывода

#include <fstream>//библиотека для работы с файлами

#include <string>//библиотека для работы со строками

#include <Windows.h>//библиотека для работы с ОС Windows

#include <conio.h>//библиотека для работы с выводом

using namespace std;//использование пространства имен std

//объявление глобальных переменных и графических редакторов

int Menu=1,a,b=0,c=0,d=0,x=0,y=0,z=0,xx=50,yy=220,j=0,xxx=145,yyy=62;

char n[80],tolk[240],search[80];

class starting//опысываем класс, содержащий вступительный ролик

{

public://идентификатор доступа(открытый)

void start()//описываем функцию вступительного ролика

{

//объявление графических редакторов и создание карандашей

HWND hWnd = GetConsoleWindow();//дескриптор окна

HDC hDC = GetDC(hWnd);//дескриптор устройства

SetBkMode(hDC,0);//инициализация прозрачного фона

RECT rect;//объявление пользовательского прямоугольника

FillRect(hDC,&rect,0);//зарисовка прямоугольника черным цветом

HPEN Pen = CreatePen(PS_SOLID,1,RGB(0,0,0));//создание черного карандаша

HBRUSH HBrush=CreateSolidBrush(RGB(0,255,0));//создание зеленой кисти

HFONT HFONT= CreateFont(30,15,0,15,15,0,0,0,0,0,0,0,0,0); //создание логического шрифта

Rectangle(hDC,-5,-5,1000,1000);

SelectObject(hDC, Pen);//выбор карандаша

Rectangle(hDC,50,200,550,220);

SelectObject(hDC,HFONT);//выбор шрифта

SetTextColor(hDC,RGB(15,65,254));//выбор цвета шрифта

TextOut(hDC,60,25,L"Курсовая работа студентки группы",strlen("Курсовая работа студентки группы"));//вывод логического шрифта

TextOut(hDC,100,50,L"26-а Зальцман Елизаветы",strlen("26-а Зальцман Елизаветы"));

SetTextColor(hDC,RGB(254,121,75));

TextOut(hDC,245,100,L"Загрузка",strlen("Загрузка"));

SelectObject(hDC, HBrush);

Rectangle(hDC,50,200,xx,yy);

std::cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\tЗагрузка "<<j<<" % ";

Sleep(120);//ожидание выполнения программы в 120 миллисекунд

system("cls");//очистка экрана

xx+=10;//изменение координат полосы-индикатора загрузки

j++;

}

};

class base//описание класса, содержащего меню и управление в нем

{

public:

void add()//описание функции добавления новых терминов

{

HWND hWnd = GetConsoleWindow();

HDC hDC = GetDC(hWnd);

HBRUSH HBrush1 = CreateSolidBrush(RGB(0,0,0));

SelectObject(hDC,HBrush1);

Rectangle(hDC,-5,-5,1000,1000);

SetBkMode(hDC,0);

HFONT hFONT1 = CreateFont(30,20,0,0,0,0,0,0,0,0,0,0,0,0);

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,60));

TextOut(hDC,100,5,L"Добавление термина",strlen("Добавление термина"));

Rectangle(hDC,-5,-5,-5,-5);

setlocale(LC_ALL,".866");

setlocale(LC_ALL,".1251");

cout<<"\n\n\n\nВыберите категорию";

cout<<"\n1. Программирование\n2. Математика \n3. Русский язык\nДля выбора пункта введите соответствующую цифру\n\nВаш выбор: ";

cin>>a;

system("cls");

if (a==1)

{

cout<<"\n\n\n\n=======\t\t\t\tПрограммирование\============\n";

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,60));

TextOut(hDC,100,5,L"Добавление термина",strlen("Добавление термина"));

Rectangle(hDC,-5,-5,-5,-5);

ofstream out("program.txt", ios::out | ios::app);//открытие файла для записи

cout<<"\nCлова разделяйте нижним подчеркиванием(_)\n\nНазвание термина: ";

cin>>n;

out<<n<<" ";//запись переменной в файл

cout<<"\nТолкование термина: ";

cin>>tolk;

out<<tolk<<"\n";

system("\n\n\nPAUSE");

system("cls");

out.close();//закрытие файла

}

if (a==2)

{

cout<<"\n\n\n\n=====\t\t\t\tМатематика\n===\n";

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,60));

TextOut(hDC,100,5,L"Добавление термина",strlen("Добавление термина"));

Rectangle(hDC,-5,-5,-5,-5);

ofstream out("mathematics.txt", ios::out | ios::app);

cout<<"\nCлова разделяйте нижним подчеркиванием(_)\n\nНазвание термина: ";

cin>>n;

out<<n<<" ";

cout<<"\nТолкование термина: ";

cin>>tolk;

out<<tolk<<"\n";

system("\n\n\nPAUSE");

system("cls");

out.close();

}

if (a==3)

{

cout<<"\n\n\n\n============\t\t\t\tРусский язык\n=========\n";

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,60));

TextOut(hDC,100,5,L"Добавление термина",strlen("Добавление термина"));

Rectangle(hDC,-5,-5,-5,-5);

ofstream out("language.txt", ios::out | ios::app);

cout<<"\nCлова разделяйте нижним подчеркиванием(_)\n\nНазвание термина: ";

cin>>n;

out<<n<<" ";

cout<<"\nТолкование термина: ";

cin>>tolk;

out<<tolk<<"\n";

system("\n\n\nPAUSE");

system("cls");

out.close();

}

}

void show1()//описание функции просмотра всех терминов в категории "Программирование"

{

int i=0;

cout<<"========\t\t\t\tПрограммирование\n=========\n";

ifstream in("program.txt");//открытие файла для считывания

while (!in.eof())

{

in>>n;

in>>tolk;

if (in.eof()==true){break;}

else {

if (strlen(n)==0) {break;}

else

{

setlocale(LC_ALL,".1251");//выбор кодировки текста .1251

cout<<"\nНазвание термина: ";

setlocale(LC_ALL,".866");//выбор кодировки .866

cout<<n<<endl;

setlocale(LC_ALL,".1251");

cout<<"\nТолкование термина: ";

setlocale(LC_ALL,".866");

cout<<tolk<<endl;

cout<<endl;

i++;

b=1;

}

}

}

setlocale(LC_ALL,".1251");

if (b==0) cout<<"\nДанные отстутствуют \n";

in.close();//закрытие файла

system("\n\nPAUSE");

system("cls");

setlocale(LC_ALL,".1251");

}

void show2()//описание функции просмотра всех терминов в категории "Математика"

{

int i=0;

cout<<"=========\t\t\t\tМатематика\n====================\n";

ifstream in("mathematics.txt");

while (!in.eof())

{

in>>n;

in>>tolk;

if (in.eof()==true){break;}

else {

if (strlen(n)==0) { break;}

else

{

setlocale(LC_ALL,".1251");

cout<<"\nНазвание термина: ";

setlocale(LC_ALL,".866");

cout<<n<<endl;

setlocale(LC_ALL,".1251");

cout<<"\nТолкование термина: ";

setlocale(LC_ALL,".866");

cout<<tolk<<endl;

cout<<endl;

i++;

c=1;

}

}

}

in.close();

setlocale(LC_ALL,".1251");

if (c==0) cout<<"\nДанные отстутствуют \n";

system("\n\nPAUSE");

system("cls");

setlocale(LC_ALL,".1251");

}

void show3()//описание функции просмотра всех терминов в категории "Русский язык"

{

int i=0;

cout<<"==================\t\t\t\tРусский язык\n=========\n";

ifstream in("language.txt");

while (!in.eof())

{

in>>n;

in>>tolk;

if (in.eof()==true){break;}

else {

if (strlen(n)==0) {break;}

else

{

setlocale(LC_ALL,".1251");

cout<<"\nНазвание термина: ";

setlocale(LC_ALL,".866");

cout<<n<<endl;

setlocale(LC_ALL,".1251");

cout<<"\nТолкование термина: ";

setlocale(LC_ALL,".866");

cout<<tolk<<endl;

cout<<endl;

d=1;

i++;

}

}

}

in.close();

setlocale(LC_ALL,".1251");

if (d==0) cout<<"\nДанные отстутствуют \n";

system("\n\nPAUSE");

system("cls");

setlocale(LC_ALL,".1251");

}

void showing()//описание функции выбора категории для просмотра в них всех терминов

{

HWND hWnd = GetConsoleWindow();

HDC hDC = GetDC(hWnd);

HBRUSH HBrush1 = CreateSolidBrush(RGB(0,0,0));

SelectObject(hDC,HBrush1);

Rectangle(hDC,-5,-5,1000,1000);

SetBkMode(hDC,0);

HFONT hFONT1 = CreateFont(30,20,0,0,0,0,0,0,0,0,0,0,0,0);

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,60));

TextOut(hDC,170,5,L"Направления",strlen("Направления"));

Rectangle(hDC,-5,-5,-5,-5);

cout<<"\n\n\n\nВыберите направление";

cout<<"\n1. Программирование\n2. Математика \n3. Русский язык\nДля выбора пункта введите соответствующую цифру\n\nВаш выбор: ";

cin>>a;

system("cls");

Rectangle(hDC,-5,-5,1000,1000);

if (a==1) show1();

if (a==2) show2();

if (a==3) show3();

}

void search1()//описание функции проведения поиска в категории "Программирование"

{

int i=0;

cout<<"=====\t\t\t\tРезультат поиска\n=============\n";

ifstream in("program.txt");

while (!in.eof())

{

in>>n;

in>>tolk;

if (in.eof()==true){break;}

else {

if (strlen(n)==0) { break;}

else

{

if (!strcmp(search,n))

{

setlocale(LC_ALL,".1251");

cout<<"\nНазвание термина: ";

setlocale(LC_ALL,".866");

cout<<n<<endl;

setlocale(LC_ALL,".1251");

cout<<"Толкование термина: ";

setlocale(LC_ALL,".866");

cout<<tolk<<endl;

cout<<endl;

i++;

x=1;

}

}

}

}

in.close();

setlocale(LC_ALL,".1251");

}

void search2()//описание функции проведения поиска в категории "Математика"

{

int i=0;

ifstream in("mathematics.txt");

while (!in.eof())

{

in>>n;

in>>tolk;

if (in.eof()==true){break;}

else {

if (strlen(n)==0) { break;}

else

{

if (!strcmp(search,n))

{

setlocale(LC_ALL,".1251");

cout<<"Название термина: ";

setlocale(LC_ALL,".866");

cout<<n<<endl;

setlocale(LC_ALL,".1251");

cout<<"Толкование термина: ";

setlocale(LC_ALL,".866");

cout<<tolk<<endl;

cout<<endl;

i++;

y=1;

}

}

}

}

in.close();

setlocale(LC_ALL,".1251");

}

void search3()//описание функции проведения поиска в категории "Русский язык"

{

int i=0;

ifstream in("language.txt");

while (!in.eof())

{

in>>n;

in>>tolk;

if (in.eof()==true){break;}

else {

if (strlen(n)==0) { break;}

else

{

if (!strcmp(search,n))

{

setlocale(LC_ALL,".1251");

cout<<"Название термина: ";

setlocale(LC_ALL,".866");

cout<<n<<endl;

setlocale(LC_ALL,".1251");

cout<<"Толкование термина: ";

setlocale(LC_ALL,".866");

cout<<tolk<<endl;

cout<<endl;

i++;

z=1;

}

}

}

}

in.close();

setlocale(LC_ALL,".1251");

}

void searching()//описание функции поиска и вывода результата

{

HWND hWnd = GetConsoleWindow();

HDC hDC = GetDC(hWnd);

HBRUSH HBrush1 = CreateSolidBrush(RGB(0,0,0));

SelectObject(hDC,HBrush1);

Rectangle(hDC,-5,-5,1000,1000);

x=0,y=0,z=0;

HFONT hFONT1 = CreateFont(30,20,0,0,0,0,0,0,0,0,0,0,0,0);

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,60));

SetBkMode(hDC,0);

TextOut(hDC,225,5,L"Поиск",strlen("Поиск"));

Rectangle(hDC,-5,-5,-5,-5);

cout<<"\n\n\n\nВведите название термина: ";

cin>>search;

search1();search2();search3();

setlocale(LC_ALL,".1251");

if (x==0&&y==0&&z==0)

{

cout<<"По запросу '";

setlocale(LC_ALL,".866");

cout<<search;

setlocale(LC_ALL,".1251");

cout<<"' ничего не найдено\n";

}

system("pause");

system("cls");

}

void menu()//описание функции вывода главного меню программы

{

HWND hWnd = GetConsoleWindow();

HDC hDC = GetDC(hWnd);

SetBkMode(hDC,0);

HBRUSH HBrush = CreateSolidBrush(RGB(255,0,0));

HBRUSH HBrush1 = CreateSolidBrush(RGB(0,0,0));

HBRUSH HBrush2 = CreateSolidBrush(RGB(255,255,255));

HFONT hFONT1 = CreateFont(50,35,15,0,5,0,0,0,0,0,0,0,0,0);

HFONT hFONT2 = CreateFont(25,15,0,3,0,0,0,0,0,0,0,0,0,0);

HFONT hFONT3 = CreateFont(25,10,0,3,0,0,0,0,0,0,0,0,0,0);

HPEN Pen = CreatePen(PS_SOLID,3,RGB(0,0,0));

SelectObject(hDC,HBrush1);

Rectangle(hDC,0,0,1000,1000);

SelectObject(hDC,HBrush2);

SelectObject(hDC,hFONT1);

SetTextColor(hDC,RGB(255,0,255));

TextOut(hDC,120,0,L" МЕНЮ ",strlen(" МЕНЮ "));

SelectObject(hDC,hFONT2);

SetTextColor(hDC,RGB(0,205,50));

//пункты меню

TextOut(hDC,170,60,L"Добавить термин",strlen("Добавить термин"));

TextOut(hDC,170,90,L"Показать все категории",strlen("Показать все категории"));

TextOut(hDC,170,120,L"Поиск",strlen("Поиск"));

TextOut(hDC,170,150,L"Выход",strlen("Выход"));

SelectObject(hDC,hFONT3);

SetTextColor(hDC,RGB(255,0,0));

TextOut(hDC,25,260,L"Вверх-стрелка вверх; Вниз-стрелка вниз; Выбрать-ENTER",strlen("Вверх-стрелка вверх; Вниз-стрелка вниз; Выбрать-ENTER"));

SelectObject(hDC,HBrush);

POINT star[10];//объявление многоугольника star[0].x=xxx;//присвоение точкам значения координат

star[0].y=yyy;

star[1].x=xxx+3;

star[1].y=yyy+5;

star[2].x=xxx+12;

star[2].y=yyy+7;

star[3].x=xxx+5;

star[3].y=yyy+11;

star[4].x=xxx+8;

star[4].y=yyy+20;

star[5].x=xxx;

star[5].y=yyy+14;

star[6].x=xxx-8;

star[6].y=yyy+20;

star[7].x=xxx-5;

star[7].y=yyy+11;

star[8].x=xxx-12;

star[8].y=yyy+7;

star[9].x=xxx-3;

star[9].y=yyy+5;

Polygon(hDC,star,10);//рисование многоугольника

}

};

int main()//главная функция программы

{

setlocale(LC_ALL,"Russian");//подключение русского языка

starting a;//создание объектов классов

base b;

for (j=0;j<=100;j++) a.start();

b.menu();

for (;Menu;)

{

switch(toupper(getch()))//функция реагирования на нажатие клавиши

{

case 13 : {if (yyy==62) b.add(),b.menu();if (yyy==92) b.showing(),b.menu(); if (yyy==122) b.searching(),b.menu();if (yyy==152) Menu=0;break;}//в зависимости от позиции курсора при нажатии клавиши ENTER выполняются определенные функции: добавление, показ всех записей, поиск и выход

case 72 : {if (yyy==62) yyy=152,b.menu(); else yyy-=30,b.menu();break;}//при нажатии стрелочки вверх происходит перемещение курсора вверх

case 80 : {if (yyy==152) yyy=62,b.menu(); else yyy+=30,b.menu();break;}//при нажатии стрелочки вниз происходит перемещение курсора вниз

}

}

return 0;//успешное завершение программы

}

Размещено на Allbest.ru


Подобные документы

  • Розробка таблиці для збереження даних у текстовому файлі про фільми в середовищі програмування Visual Studio C++ та їх сортування за країною виробництва. Реалізація таблиці за допомогою компонента dataGridView. Опис і контрольний приклад роботи програми.

    курсовая работа [1,4 M], добавлен 02.11.2016

  • Головні принципи візуального програмування, опис компонентів Delphi, використаних при розробці проекту. Опис програми-додатку "Психологічний тест" та список дій користувача. Алгоритм роботи програми, її форма та ієрархія. Опис графічного інтерфейсу.

    курсовая работа [1,2 M], добавлен 08.06.2010

  • Критерії (вимоги) до створення автоматичного робочого місця оператора реєстратури. Обґрунтування вибору середовища програмування та засобів збереження даних. Алгоритм програми. Опис інтерфейсу проекту системи. Програмні модулі та керівництво користувача.

    дипломная работа [1017,0 K], добавлен 31.10.2014

  • Програми, які виводять на екран характеристики комп'ютера. Розробка програми "Монітор використання ресурсів комп’ютера" на мові програмування ASM-86. Алгоритм програми та її реалізація. Системні вимоги, інструкція для користувача, лістинг програми.

    курсовая работа [22,2 K], добавлен 08.08.2009

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

  • Опис мови програмування PHP. Стратегія Open Source. Мова розмітки гіпертекстових документів HTML. Бази даних MySQL. Обґрунтування потреби віддаленого доступу до БД. Веб-сервер Apache. Реалізація системи. Інструкція користувача і введення в експлуатацію.

    курсовая работа [42,9 K], добавлен 21.12.2012

  • Загальна характеристика алгоритму та опис програми. Керівництво системного програміста. Особливості запуску програми в Linux, FreeBSD, Windows. Аналіз результатів тестування програми, що проектується, вивчення та оцінка її практичної ефективності.

    курсовая работа [91,4 K], добавлен 13.06.2014

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Створення програми для роботи з веб-камерою з автоматичним визначенням встановленої камери на комп'ютері. Характеристика апаратної конфігурації програми. Опис мови і середовища програмування. Розробка алгоритму, інструкції для програміста та користувача.

    курсовая работа [1,2 M], добавлен 26.07.2013

  • Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.

    курсовая работа [211,3 K], добавлен 19.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.