p align="left">База данных - это реализованная с помощью компьютера информационная структура (модель), отражающая состояние объектов и их отношения. Следует учесть, что это определение не является единственно возможным. Информатика в отношении определений чаще всего не похожа на математику с ее полной однозначностью. Если подойти к понятию “база данных” с чисто пользовательской точки зрения, то возникает другое определение: база данных - совокупность хранимых операционных данных некоторого предприятия. Все дело в том, какой аспект доминирует в рассмотрении; в данной главе первое из определений более уместно. Опыт использования баз данных позволяет выделить общий набор их рабочих характеристик: * полнота - чем полнее база данных, тем вероятнее, что она содержит нужную информацию (однако, не должно быть избыточной информации); * правильная организация - чем лучше структурирована база данных, тем легче в ней найти необходимые сведения; * актуальность - любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта; * удобство для использования - база данных должна быть проста и удобна в использовании и иметь развитые методы доступа к любой части информации. Соответственно возможностям организации реляционных, иерархических и сетевых информационых структур, существуют и аналогичные виды баз данных. 2.3 Основные типы баз данных 1) Иерархические 2) Сетевые 3) Реляционные Иерархические базы данных Иерархические БД применялись в начале 60-х годов. Они построены в виде обычного дерева. Данные делятся на 2 категории: главные и подчинённые. Таким образом, один тип объекта является главным, а остальные, находящиеся на более низких ступенях иерархии, - подчинёнными.БД, организованные по такому принципу, удобно использовать в тех случаячх, когда информамция упорядочена соответствующим образом. Сетевые базы данных Сетевые БД начали применятся практически одновременно с иерархическими. В этих БД любой объект может быть как главным, так и подчинённым. В использовании довольно сложно реализовать представление данных в таком виде, поэтому от этого типа тоже отказались. Реляционные базы данных Именно реляционные БД используются в повседневной жизни. (от англ. relation - отношение). Такой тип БД представляется собой несколько взаимосвязанных таблиц прямоугольной формы. В которых собственное есть поля, ключи, записи, аторибуты и прочее и прочее. 3. Действие программы 3.1 Структура программы Программа состоит из 2 функций отвечающих за интерфейс программы и основной программы в которой выполняются все действия с базой данных. Функции отвечающие за интерфейс программы предназначены для придания программе более приятного вида и для упрощения работы с ней. Это функция вывода сообщения об ошибке ввода и функция создания рамки в окне программы. Функция вывода сообщения об ошибке ввода предназначена для упрощения работы с программой. Вообще сама «защита» от ошибки ввода защищает программу от совершения каких-либо ошибок, связанных с вводом. Если пользователь случайно введет неправильное значение то программа выдаст ему соответствующее сообщение и пользователь сможет исправить свою ошибку. Функция создания рамки в окне программы предназначена для придания интерфейсу программы более «товарного» вида. Пользователю будет приятнее работать в красивом окне чем в простом черном окне. Основная программа выполняет действия над записями: ввод - вывод данных, изменение записей, поиск записей, добавление записей к уже имеющимся. 3.2 Работа программы Программа начинается с ввода первоначальных данных. При запуске появляется окно в котором пользователю предлагается ввести нужные данные. Окно выглядит так: После ввода данных пользователю предлагается продолжить ввод данных или же завершить ввод. В случае неправильного ввода программа выдает сообщение об ошибке: Если пользователь вводит символ 'n' то программа переходит к окну ввода данных, Если же пользователь ввел символ 'q' то в окне появляется сообщение о завершении ввода. Программа переходит к следующему окну Далее пользователю предлагается выбрать дальнейшее действие. При выборе вывода данных на экране появляется окно с введенными данными При выборе добавления данных на экране появляется окно ввода данных. При выборе поиска на экране появляется окно выбора критерия поиска: Далее появляется окно в котором предлагается ввести определенные данные для поиска. После выполнения поиска при наличии данной записи она выводится на экран. При выборе изменения данных на экране появится окно в котором пользователю предлагается ввести данные записи которую нужно изменить Далее пользователю предлагается ввести новые данные. Далее выводится сообщение об изменении записи. При выборе выхода из программы программа завершает свое выполнение и заврывается. ЗаключениеДанная работа выполнена на языке высокого уровня программирования в среде Borland С++, Первые версии языка программирования С++ (тогда он назывался "Си с классами") были разработаны в начале 80-х годов Бьярном Страуструпом, сотрудником знаменитой AT&T Bell Labs, где ранее были разработаны такие шедевры программирования, как операционная система UNIX и язык программирования Си. При написании и разработки программного обеспечения использовались различные возможности С++. В ходе выполнения курсовой работы была разработана база данных группы студентов, с помощью которой можно добавить данные о студенте, просмотреть их , совершить поиск по определенным критериям студента. Также данные записываются в файл на жесткий диск, тем самым мы сохраняем их. Уже поиск совершается в самом файле. Данная курсовая работа позволила укрепить знания, которые были получены в процессе учебы, и реализовать их в виде данной программы. Список литературы 1. Е Зуев, А Кротов "Новые возможности языка Си++", PC Magazine/Russian Edition, #7, 1994. 2. В.Шелест. Программирование. 2002. 3. Г. Шилдт «Самоучитель С++» - СПб.:БХВ-Петербург. 2001. -- 670с. 4. Карпов Б., Баранов Т. «С++: специальный справочник» - СПб.: Питер, 2001. -- 480 с.:ил. 5. Культин Н. «С/С++ в задачах и примерах» - СПб.:БХВ-Петербург, 2002. -- 288 с. 6. А. Мешков, Ю. Тихомиров «Visual C++ и MFC» - СПб.:БХВ-Петербург. 2002 -- 1017с. 7. Теллес, М. BORLAND C++ BUILDER: библиотека программиста .-- СПб : Питер, 1998 .-- 512с. 8. Архангельский, А.Я. Язык C++ в C++Builder : справочное и методическое пособие / А.Я. Архангельский .-- М. : Бином, 2008 .-- 942 с.9. Роберт Седжвик, Фундаментальные алгоритмы на С++,Санкт-Петербург, ООО "ДиаСофтЮП", 2002. Части 1-4 - 688 с., часть 5 - 496 с.10. М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. - Москва: Мир, 1992. 445с. 11. Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 1992, 304-345сс. 12. Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 1994. 400с. 13. В.В. Подбельский. Язык C++: Учебное пособие. - Москва: Финансы и статистика, 1995. 560с. 14. Ирэ Пол. Объектно-ориентированное программирование с использованием C++: Пер. с англ. - Киев: НИИПФ ДиаСофт Лтд, 1995. 480с. 15. Т. Фейсон. Объектно-ориентированное программирование на Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с. ПриложениеЛистинг программы#include <clx.h>#include <stdlib.h>#include <iostream.h>#include <conio.h>#include <stdio.h>#include <math.h>void ramka(),error();void error(){textcolor(4);cprintf("Nepravil'nyi vybor");textcolor(15);}void ramka (){int xx1,yy1,xx2,yy2;int xi;xx1=2; yy1=1; xx2=78; yy2=24;for (xi=xx1;xi<=xx2-1;xi++){textcolor(14);gotoxy(xi,yy1);cprintf("Н");gotoxy(xi,yy2);cprintf("Н");}for (xi=yy1;xi<=yy2;xi++){gotoxy(xx1,xi);cprintf("є");gotoxy(xx2,xi);cprintf("є");}gotoxy(xx1,yy1);cprintf("Й");gotoxy(xx2,yy1);cprintf("»");gotoxy(xx1,yy2);cprintf("И");gotoxy(xx2,yy2);cprintf("ј");textcolor(15);}void main(){const int n=9999;int m,i,j;char l,k,x,y;char vybor[25],vtip[25],vproizv[25],vmodel[25];struct detal {int nomer; char naim[25]; char proizv[25]; char model[25];};detal baza[n];textmode(C80);textbackground(1);clrscr();ramka();gotoxy(25,5);cprintf ("Vvedite dannye\n");i=0;metka2:j=i;gotoxy(25,7);cprintf ("Tip produkta :");cscanf ("%s",&baza[i].naim);gotoxy(25,8);cprintf ("Proizvoditel' :");cscanf ("%s",&baza[i].proizv);gotoxy(25,9);cprintf ("Model' produkta :");cscanf ("%s",&baza[i].model);i++;metka4:clrscr();ramka();gotoxy(8,9);cprintf("Nazhmite 'n' dlya dobavleniya zapisi ili 'q' dlya zaversheniya vvoda\n");gotoxy(33,10);cscanf("%s",&x);if (x=='n' || x=='q'){if (x=='n'){clrscr();goto metka2;}else {gotoxy(27,11);cprintf ("zapisi dobavleny\n");}}else{gotoxy (27,11);error();getch(); getch();goto metka4;}getch(); getch();metka1:clrscr();ramka();gotoxy(25,5);cprintf("Vyberite deistvie");gotoxy(25,7);cprintf("1-Vyvesti spisok na ekran");gotoxy(25,8);cprintf("2-Dobavit' dannye v spisok");gotoxy(25,9);cprintf("3-Vypolnit' poisk");gotoxy(25,10);cprintf("4-Izmenit' zapis'");gotoxy(25,11);cprintf("0-vyhod");gotoxy(25,13);cprintf("Vash vybor : ");cscanf("%s",&k);if (k=='0' || k=='1' || k=='2' || k=='3' || k=='4'){if (k=='1'){clrscr();ramka();for (m=0;m<i;m++){gotoxy(20,m+2);cprintf (baza[m].naim);cprintf(" ");cprintf (baza[m].proizv);cprintf(" ");cprintf (baza[m].model);printf("\n");}getch(); getch();goto metka1;}if (k=='2'){clrscr();gotoxy(25,5);cprintf ("Vvedite dannye\n");metka3:j=i;ramka();gotoxy(25,7);cprintf ("Tip produkta :");cscanf ("%s",&baza[i].naim);gotoxy(25,8);cprintf ("Proizvoditel' :");cscanf ("%s",&baza[i].proizv);gotoxy(25,9);cprintf ("Model' produkta :");cscanf ("%s",&baza[i].model);i++;metka6:clrscr();ramka();gotoxy(9,8);cprintf("Nazhmite 'n' dlya dobavleniya zapisi ili 'q' dlya zaversheniya vvoda\n");gotoxy(30,9);cscanf("%s",&y);if (y=='n' || y=='q'){if (y=='n') {clrscr();goto metka3;}else {gotoxy(27,11);cprintf ("Zapisi dobavleny");getch(); getch();goto metka1;}}else{gotoxy (27,11);error();getch(); getch();goto metka6;}}if (k=='3'){metka5:clrscr();ramka();gotoxy(25,5);cprintf("Kryterii poiska");gotoxy(25,7);cprintf("1-Tip");gotoxy(25,8);cprintf("2-Proizvoditel'");gotoxy(25,9);cprintf("3-model' produkta");gotoxy(25,11);cprintf("Vash vybor : ");cscanf("%s",&l);if (l=='1' || l=='2' || l=='3'){if (l=='1'){clrscr();ramka();gotoxy(25,5);cprintf("Vvedite tip produkta");gotoxy(30,7);cscanf("%s",&vybor);for (m=0;m<i;m++){if (!strcmp(baza[m].naim,vybor)){gotoxy(20,m+9);cprintf (baza[m].naim);cprintf(" ");cprintf (baza[m].proizv);cprintf(" ");cprintf (baza[m].model);cprintf("\n");}}}if (l=='2'){clrscr();ramka();gotoxy(25,5);cprintf("Vvedite proizvoditelya produkta");gotoxy(30,7);cscanf("%s",&vybor);for (m=0;m<i;m++){if (!strcmp(baza[m].proizv,vybor)){gotoxy(20,m+9);cprintf (baza[m].naim);cprintf(" ");cprintf (baza[m].proizv);cprintf(" ");cprintf (baza[m].model);cprintf("\n");}}}if (l=='3'){clrscr();ramka();gotoxy(25,5);cprintf("Vvedite model' produkta");gotoxy(30,7);cscanf("%s",&vybor);for (m=0;m<i;m++){if (!strcmp(baza[m].model,vybor)){gotoxy(20,m+9);cprintf (baza[m].naim);cprintf(" ");cprintf (baza[m].proizv);cprintf(" ");cprintf (baza[m].model);cprintf("\n");}}}getch(); getch();goto metka1;}else {gotoxy(27,12);error();getch(); getch();goto metka5;}}if(k=='4'){clrscr();ramka();gotoxy (25,5);cprintf("Vvedite zapis' kotoruyu hotite izmenit' :");gotoxy (25,7);cprintf("Tip - ");cscanf("%s",&vtip);gotoxy(25,8);cprintf("Proizvoditel' - ");cscanf("%s",&vproizv);gotoxy(25,9);cprintf("Model' - ");cscanf("%s",&vmodel);gotoxy(25,11);cprintf("Vashi dannye prinyaty!");getch(); getch();for (m=0;m<i;m++){if (!strcmp(baza[m].naim,vtip) && !strcmp(baza[m].proizv,vproizv) && !strcmp(baza[m].model,vmodel)){clrscr();ramka();gotoxy(25,5);cprintf("Vvedite novye dannye: \n");gotoxy(25,7);cprintf("Tip - ");cscanf("%s",&baza[m].naim);gotoxy(25,8);cprintf("Proizvoditel' - ");cscanf("%s",&baza[m].proizv);gotoxy(25,9);cprintf("Model' - ");cscanf("%s",&baza[m].model);gotoxy(25,11);cprintf("Zapis' izmenena");getch(); getch();}}goto metka1;}if (k=='0') abort();}else {gotoxy(27,12);error();getch(); getch();goto metka1;}
Страницы: 1, 2
|