Использование библиотеки Turbo Vision в C++

Разработка программы, выполняющей обработку базы данных, элементами которой являются объекты класса Student. Организация пользовательского диалога для ввода информации и просмотра объектов. Определение классов и глобальных имен. Инструкция программиста.

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

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

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

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

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

Пермский Государственный Политехнический Университет

Электротехнический факультет

Контрольная работа

по предмету алгоритмические языки и теория программирования

На тему: «Использование библиотеки Turbo Vision в C++»

Выполнил: Палкин Д.В

Проверил: Ноткин А.М.

Пермь 2013 г.

Содержание

  • Постановка задачи
  • Алгоритмы
  • Проектирование
    • Определение классов
    • Определение глобальных имен
  • Инструкция программисту
  • Инструкция пользователю
  • Выводы
  • Приложение

Постановка задачи

Создать методические указания к лабораторной работе под названием «Turbo Vision C++. Организация диалога», которые должны содержать теоретический материал по данной теме и демонстрационную программу.

Программа выполняет обработку базы данных, элементами которой являются объекты класса Student (студент), и организует пользовательский диалог для ввода информации и просмотра объектов и поиск. Созданный объект заноситься в линейный список. Данные хранятся в файле.

Теоритический материал должен содержать информацию о классах Turbo Vision: TDialog, TInputLine, TButton, TStaticText.

Алгоритмы

В программе использовался алгоритм поиска в линейном двунаправленном списке. Идея алгоритма: просматривается список, начиная с первого элемента, пока не будет найден нужный элемент или список не закончится. Поиск объекта СТУДЕНТ осуществляется по одному из полей данных, которое выбирает пользователь. Также осуществляется поиск следующего элемента: Функция поиска первого элемента заносит результат поиска (указатель на найденный объект) в глобальную переменную, функция же поиска следующего элемента начинает просмотр не сначала, а с элемента на который указывает эта глобальная переменная.

Проектирование

В программе определяется класс TStudentApp производный от TApplication, в котором представлены методы для организации пользовательского интерфейса и работы со списком объектов СТУДЕНТ и работы с файлами. И класс TStudentBase, являющийся объектом СТУДЕНТ, и содержащий поля next (указатель на следующий элемент в списке) prev (указатель на предыдущий элемент в списке) и persone - указатель на структуру данных о студенте TStudent.

При создании списка инициализируется глобальная переменная StudentBase - указатель на текущий элемент, и глобальная переменная first - указатель на первый элемент списка.

При создании рабочего (основного) диалога в программе для удобства не создается класс производный от TDialog, а описывается глобальная переменная TDialog *wd, которая затем инициализируется в компонентной функции класса TStudentApp::WorkDialog(). Данные считываются из диалога и устанавливаются непосредственно в/из поля persone объекта StudentBase.

При поиске в списке объектов организуется диалог, в котором пользователь указывает поле поиска и его значение. Эти данные заносятся в глобальную структуру searchRec, затем функции поиска используют эту структуру в своих целях.

Сохраняются данные в файл в виде структур типа TStudent.

Определение классов

struct TSearchRec //Структура поиска

{

ushort pole; // Поле по которому производится поиск

char val[30]; // Значение поля

};

struct TStudent //Структура информации о студенте

{

char soname[30];

char name[30];

char patron[30];

ushort sex;

char group[12];

char course[3];

ushort contra;

char grant[10];

char studnum[8];

};

class TStudentBase //Класс СТУДЕНТ

{

public:

TStudentBase();

~TStudentBase();

void Sets(char*,char*,char*,char*,ushort,char*,char*,char*,ushort);

TStudent *persone; //указатель на TStudent

TStudentBase *prev; //предыдущий элемент в списке

TStudentBase *next; //следующий элемент в списке

};

class TStudentApp : public TApplication

{

public:

TStudentApp();

virtual void handleEvent(TEvent& event);

static TStatusLine *initStatusLine(TRect);

static TMenuBar *initMenuBar(TRect);

private:

void WorkDialog(); //Функция, создающая рабочий диалог

void SaveBase(char *filename); //Сохранение базы в файл

TStudentBase *ReadBase(char *filename); //Чтение базы из файла

void NewBase(); //Создание новой базы

void changeDir();

void openBase(); //Открытие базы

void searchDialog(); //Диалог поиска

TStudentBase *Search(TSearchRec *); //Поиск первого элемента

TStudentBase *SAgain(TSearchRec *,TStudentBase *); //Поиск следующего

элемента

};

Определение глобальных имен

база пользовательский обработка программист

const cmNewBase=200,

cmOpenBase=201, //Команды управления

cmSaveBase=202,

cmChDir=203,

cmSAgain=204,

cmSearch=205,

cmAddItm=206,

cmDel=207,

cmFwd=208,

cmBck=209,

cmUndoCh=210;

TDialog *wd; //Рабочий диалог

TStudentBase *StudentBase, //Ук-ль на текущий элемент в списке

*firstItm, //Ук-ль на текущий элемент в списке

*tmpS; //Указатель на найденный элемент

TSearchRec *searchRec; //Ук-ль на данные поиска

ushort control;

char *basename; //Имя базы

char *fileName; //Путь и имя файла базы

Инструкция программисту

Требования к ресурсам: процессор не ниже Intel 386.

Память - минимум 1Мб. Дисковое пространство - 1Mb

Видеоадаптер - любой. О/S -Ms. Dos, Ms Windows 3.1-98

Инструментальные разработки: Программа написана на языке С++, с помощью программной среды Borland C++ ver. 3.0 и библиотеки Turbo Vision. Исходник программы находится в файле KURSOVIK.CPP.

Стандартные библиотеки С++:stdio.h, stdlib.h, string.h

Библиотеки Turbo Vision: tv.h, app.h, objects.h, menus.h, dialog.h, stddlg.h, msgbox.h.

Инструкция пользователю

Если вы решили использовать в своих целях данный программный продукт, запустите файл KURSOVIK.EXE и наслаждайтесь приятной работой которую обеспечит вам данная программа. База данных студентов сохраняется в файле с расширением .sdb.

После запуска программы перед вами появляется окно программы в верхней части которого находится меню. Для создания новой базы войдите в меню File и выберите пункт НОВАЯ БАЗА ДАННЫХ, появится окно в котором нужно ввести название базы не более 8 символов. После этого вы увидите рабочий диалог. Вы сможете перемещаться по базе с помощью кнопок >> и <<, а также добавлять и удалять записи с помощью кнопок Add и Del, при закрытии базы кнопкой Close происходит автосохранение базы. Для поиска элемента используйте пункт ПОИСК меню EDIT или клавишу F7. С помощью пункта ОТМЕНИТЬ ИСПРАВЛЕНИЯ в меню EDIT или клавиши Alt-Q вы можете отменить исправления в данной записи.

Выводы

В результате выполнения работы я полностью освоил организацию и работу с диалоговыми окнами в Turbo Vision C++. Была написана «мощнейшая» база данных, обрабатывающая данные о студентах, способная сохранять данные в файл и считывать из файла в новом стандарте SDB. В программе организован сверх-удобный и вместе с тем несложный пользовательский интерфейс. Данный программный продукт является коммерческим. Копирование и взлом преследуются по закону.

Приложение

Текст программы.

#define Uses_TKeys

#define Uses_TApplication

#define Uses_TInputLine

#define Uses_TRect

#define Uses_TLabel

#define Uses_TMenuBar

#define Uses_TSubMenu

#define Uses_TButton

#define Uses_TMenuItem

#define Uses_TStatusLine

#define Uses_TStatusItem

#define Uses_TStatusDef

#define Uses_TDeskTop

#define Uses_TDialog

#define Uses_TFileDialog

#define Uses_TChDirDialog

#define Uses_TSItem

#define Uses_TRadioButtons

#define Uses_MsgBox

#include <tv.h>

#include <msgbox.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

const cmNewBase=200,//

cmOpenBase=201,

cmSaveBase=202,

cmChDir=203,

cmSAgain=204,

cmSearch=205,

cmAddItm=206,//

cmDel=207,//

cmFwd=208, //

cmBck=209, //

cmUndoCh=210;

TDialog *wd;

struct TStudent

{

char soname[30];

char name[30];

char patron[30];

ushort sex;

char group[12];

char course[3];

ushort contra;

char grant[10];

char studnum[8];

};

const blocksize=sizeof(TStudent);

struct TSearchRec

{

ushort pole;

char val[30];

};

class TStudentBase

{

public:

TStudentBase();

~TStudentBase();

void Sets(char*,char*,char*,char*,ushort,char*,char*,char*,ushort);

TStudent *persone;

TStudentBase *prev;

TStudentBase *next;

};

TStudentBase *StudentBase, *firstItm, *tmpS;

TSearchRec *searchRec;

ushort control;

char *basename;

char *fileName;

class TStudentApp : public TApplication

{

public:

TStudentApp();

virtual void handleEvent(TEvent& event);

static TStatusLine *initStatusLine(TRect);

static TMenuBar *initMenuBar(TRect);

private:

void WorkDialog();

void SaveBase(char *filename);

TStudentBase *ReadBase(char *filename);

void NewBase();

void changeDir();

void openBase();

void searchDialog();

TStudentBase *Search(TSearchRec *);

TStudentBase *SAgain(TSearchRec *,TStudentBase *);

};

TStudentApp::TStudentApp():

TProgInit(&TStudentApp::initStatusLine,

&TStudentApp::initMenuBar,

&TStudentApp::initDeskTop)

{

disableCommand(cmSaveBase);

disableCommand(cmSearch);

disableCommand(cmSAgain);

disableCommand(cmUndoCh);

};

TStatusLine *TStudentApp::initStatusLine(TRect r)

{

r.a.y=r.b.y-1;

return new TStatusLine(r,

*new TStatusDef(0,0xFFFF)+

*new TStatusItem("~Alt-X~ Выход",kbAltX,cmQuit)

);

}

TMenuBar *TStudentApp::initMenuBar(TRect r)

{

r.b.y=r.a.y+1;

return new TMenuBar(r,

*new TSubMenu("~F~ile",kbAltF,hcNoContext)+

*new TMenuItem("Новая база данных... ~Alt-N~",cmNewBase,kbAltN)+

*new TMenuItem("Открыть базу... ~F3~",cmOpenBase,kbF3)+

*new TMenuItem("Сохранить базу ~F2~",cmSaveBase,kbF2)+

newLine()+

*new TMenuItem("Сменить каталог...",cmChDir,hcNoContext)+

newLine()+

*new TMenuItem("~В~ыход ~Alt-X~",cmQuit,hcNoContext)+

*new TSubMenu("~E~dit",kbAltE,hcNoContext)+

*new TMenuItem("Поиск... ~F7~",cmSearch,kbF7)+

*new TMenuItem("Поиск следующей записи ~Shift-F7~",cmSAgain,kbShiftF7)+

*new TMenuItem("Отменить исправления ~Alt-Q~",cmUndoCh,kbAltQ)

);

};

void TStudentApp::handleEvent(TEvent& event)

{

if( event.what == evCommand )

{

switch( event.message.command )

{

case cmNewBase:

NewBase();

if (control==cmCancel)break;

StudentBase=new TStudentBase();

firstItm=StudentBase;

fileName=basename;

WorkDialog();

clearEvent( event );

break;

case cmAddItm:

wd->getData(StudentBase->persone);

TStudentBase *tmp=new TStudentBase();

tmp->prev=StudentBase;

tmp->next=StudentBase->next;

StudentBase->next->prev=tmp;

StudentBase->next=tmp;

StudentBase=StudentBase->next;

wd->setData(StudentBase->persone);

clearEvent( event );

break;

case cmDel:

if ((StudentBase->prev!=NULL)||(StudentBase->next!=NULL))

{

if (StudentBase->prev!=NULL)

StudentBase->prev->next=StudentBase->next;

if (StudentBase->next!=NULL)

{StudentBase->next->prev=StudentBase->prev;

StudentBase=StudentBase->next;}

else StudentBase=StudentBase->prev;

}

if (StudentBase!=NULL)wd->setData(StudentBase->persone);

clearEvent( event );

break;

case cmFwd:

wd->getData(StudentBase->persone);

if (StudentBase->next!=NULL)

{

StudentBase=StudentBase->next;

wd->setData(StudentBase->persone);

};

clearEvent( event );

break;

case cmBck:

wd->getData(StudentBase->persone);

if (StudentBase->prev!=NULL)

{

StudentBase=StudentBase->prev;

wd->setData(StudentBase->persone);

};

clearEvent( event );

break;

case cmCancel:

disableCommand(cmSaveBase);

disableCommand(cmSearch);

disableCommand(cmSAgain);

disableCommand(cmUndoCh);

enableCommand(cmOpenBase);

enableCommand(cmNewBase);

wd->getData(StudentBase->persone);

SaveBase(fileName);

destroy(wd);

clearEvent( event );

break;

case cmChDir:

changeDir();

clearEvent( event );

break;

case cmOpenBase:

openBase();

if ((control==cmCancel)||StudentBase==NULL)break;

WorkDialog();

clearEvent( event );

break;

case cmSaveBase:

SaveBase(fileName);

clearEvent( event );

break;

case cmSearch:

searchRec=new TSearchRec;

strcpy(searchRec->val,"");

searchRec->pole=0;

searchDialog();

if (control==cmCancel)break;

tmpS=Search(searchRec);

clearEvent( event );

break;

case cmSAgain:

tmpS=SAgain(searchRec,tmpS);

clearEvent( event );

break;

case cmUndoCh:

wd->setData(StudentBase->persone);

default:

break;

}

};

TApplication::handleEvent( event );

}

void TStudentApp::NewBase()

{

TDialog *nb=new TDialog(TRect(20,5,60,15),"Новая База");

TInputLine *bnm=new TInputLine(TRect(3,3,37,4),9);

TButton *ok=new TButton(TRect(4,6,19,8),"~O~k",cmOK,bfDefault);

TButton *canc=new TButton(TRect(21,6,36,8),"~C~ancel",cmCancel,bfNormal);

nb->insert(canc);

nb->insert(ok);

nb->insert(bnm);

control=deskTop->execView(nb);

if (control!=cmCancel)

{

nb->getData(basename);

strcat(basename,".sdb");

}

destroy(nb);

};

void TStudentApp::WorkDialog()

{

wd=new TDialog(TRect(3,2,77,21),basename);

wd->flags=0x00;

TInputLine *stdn=new TInputLine(TRect(23,2,30,3),8);

TInputLine *sn=new TInputLine(TRect(12,4,42,5),30);

TInputLine *nm=new TInputLine(TRect(12,6,42,7),30);

TInputLine *pt=new TInputLine(TRect(12,8,42,9),30);

TInputLine *cr=new TInputLine(TRect(37,10,42,11),3);

TInputLine *gr=new TInputLine(TRect(12,10,26,11),12);

TInputLine *st=new TInputLine(TRect(14,12,25,13),10);

TRadioButtons *Sex=new TRadioButtons(TRect(44,4,57,6),

new TSItem( "Мужской",

new TSItem( "Женский",0

)));

TRadioButtons *Contr=new TRadioButtons(TRect(44,8,57,10),

new TSItem( "Да",

new TSItem( "Нет",0

)));

wd->insert(new TLabel(TRect(3,12,13,13),"~С~тепендия",st));

wd->insert(new TLabel(TRect(44,7,60,8),"~К~онтрактник",Contr));

wd->insert(new TLabel(TRect(31,10,36,11),"~К~урс",cr));

wd->insert(new TLabel(TRect(3,10,11,11),"~Г~руппа",gr));

wd->insert(new TLabel(TRect(44,3,57,4),"~П~ол",Sex));

wd->insert(new TLabel(TRect(3,8,11,9),"~О~чество",pt));

wd->insert(new TLabel(TRect(3,6,7,7),"~И~мя",nm));

wd->insert(new TLabel(TRect(3,4,11,5),"~Ф~амилия",sn));

wd->insert(new TLabel(TRect(3,2,22,3),"~Н~омер студ. билета",stdn));

wd->insert(sn);

wd->insert(nm);

wd->insert(pt);

wd->insert(Sex);

wd->insert(gr);

wd->insert(cr);

wd->insert(Contr);

wd->insert(st);

wd->insert(new TButton(TRect(60,5,71,7),"~A~dd",cmAddItm,bfNormal));

wd->insert(new TButton(TRect(60,8,71,10),"~D~el",cmDel,bfNormal));

wd->insert(new TButton(TRect(60,11,71,13),"~C~lose",cmCancel,bfDefault));

wd->insert(new TButton(TRect(19,15,35,17),"<<",cmBck,bfNormal));

wd->insert(new TButton(TRect(39,15,55,17),">>",cmFwd,bfNormal));

wd->insert(stdn);

wd->setData(StudentBase->persone);

enableCommand(cmSaveBase);

enableCommand(cmSearch);

enableCommand(cmSAgain);

enableCommand(cmUndoCh);

disableCommand(cmOpenBase);

disableCommand(cmNewBase);

deskTop->insert(wd);

wd->getData(StudentBase->persone);

}

void TStudentApp::searchDialog()

{

TDialog *sr=new TDialog(TRect(17,5,63,20),"Поиск");

TInputLine *Val=new TInputLine(TRect(3,3,37,4),30);

TButton *ok=new TButton(TRect(4,10,19,12),"~O~k",cmOK,bfDefault);

TButton *canc=new TButton(TRect(21,10,36,12),"~C~ancel",cmCancel,bfNormal);

TRadioButtons *Pole=new TRadioButtons(TRect(3,5,43,9),

new TSItem( "Номер студенческого",

new TSItem( "Фамилия",

new TSItem( "Имя",

new TSItem( "Отчество",

new TSItem( "Группа",

new TSItem( "Курс",

new TSItem( "Степендия",0

))))))));

sr->insert(canc);

sr->insert(ok);

sr->insert(Pole);

sr->insert(Val);

control=deskTop->execView(sr);

if (control!=cmCancel)

{

sr->getData(searchRec);

}

destroy(sr);

};

TStudentBase *TStudentApp::Search(TSearchRec *srec)

{

TStudentBase *Sb=new TStudentBase();

Sb=firstItm;

int found;

found=2;

while ((Sb!=NULL)&&(found))

{

switch (srec->pole)

{

case 0:found=strcmp(srec->val,Sb->persone->studnum);break;

case 1:found=strcmp(srec->val,Sb->persone->soname);break;

case 2:found=strcmp(srec->val,Sb->persone->name);break;

case 3:found=strcmp(srec->val,Sb->persone->patron);break;

case 4:found=strcmp(srec->val,Sb->persone->group);break;

case 5:found=strcmp(srec->val,Sb->persone->course);break;

case 6:found=strcmp(srec->val,Sb->persone->grant);break;

}

if (found!=0)Sb=Sb->next;

else {StudentBase=Sb;

wd->setData(StudentBase->persone);

}

};

if (found!=0)

{

const mfOkError=mfOKButton | mfError;

messageBox("Запись не найдена!!!",mfOkError);

return NULL;

};

return Sb->next;

};

TStudentBase *TStudentApp::SAgain(TSearchRec *srec,TStudentBase *tmp)

{

int found;

found=2;

while ((tmp!=NULL)&&(found))

{

switch (srec->pole)

{

case 0:found=strcmp(srec->val,tmp->persone->studnum);break;

case 1:found=strcmp(srec->val,tmp->persone->soname);break;

case 2:found=strcmp(srec->val,tmp->persone->name);break;

case 3:found=strcmp(srec->val,tmp->persone->patron);break;

case 4:found=strcmp(srec->val,tmp->persone->group);break;

case 5:found=strcmp(srec->val,tmp->persone->course);break;

case 6:found=strcmp(srec->val,tmp->persone->grant);break;

}

if (found!=0)tmp=tmp->next;

else {StudentBase=tmp;

wd->setData(StudentBase->persone);

}

};

if (found!=0)

{

const mfOkError=mfOKButton | mfError;

messageBox("Запись не найдена!!!",mfOkError);

return NULL;

};

return tmp->next;

};

void TStudentApp::openBase()

{

TFileDialog *d= (TFileDialog *)validView(

new TFileDialog( "*.sdb", "Открыть файл", "~N~ame", fdOpenButton, 100 ));

control=deskTop->execView(d);

if( d != 0 && control!=cmCancel)

{

d->getFileName( basename );

strcpy(fileName,basename);

do

{

strcpy(basename,strchr(basename,'\\')+1);

}while (strchr(basename,'\\')!=NULL);

firstItm=ReadBase(fileName);

StudentBase=firstItm;

}

destroy( d );

}

void TStudentApp::changeDir()

{

TView *d = validView( new TChDirDialog( 0, cmChangeDir ) );

if( d != 0 )

{

deskTop->execView( d );

destroy( d );

}

}

TStudentBase::TStudentBase()

{

persone=new TStudent;

Sets("","","","",0,"","","",0);

next=NULL;

prev=NULL;

};

TStudentBase::~TStudentBase()

{

delete persone;

};

void TStudentBase::Sets(char *stdn,char *sn,char *nm,char *pt,

ushort sx,char *gr,char *cr,char *st,ushort cntr)

{

strcpy(persone->studnum,stdn);

strcpy(persone->soname,sn);

strcpy(persone->name,nm);

strcpy(persone->patron,pt);

strcpy(persone->group,gr);

strcpy(persone->course,cr);

strcpy(persone->grant,st);

persone-> sex=sx;

persone->contra=cntr;

};

long filesize(FILE *f)

{

long curpos, length;

curpos=ftell(f);

fseek(f,0L,SEEK_END);

length=ftell(f);

fseek(f,curpos,SEEK_SET);

return length;

};

int Eof(FILE *f)

{

long curpos=ftell(f);

TStudent *st;

fread(st,sizeof(TStudent),1,f);

if (feof(f))

{

fseek(f, curpos, SEEK_SET);

return 1;

};

fseek(f, curpos, SEEK_SET);

return 0;

};

TStudentBase *TStudentApp::ReadBase(char *filename)

{

FILE *baseF;

if (((baseF=fopen(filename,"r"))==NULL)||(filesize(baseF)==0))

{

return NULL;

fclose(baseF);

}

TStudentBase *base=new TStudentBase();

TStudentBase *tmp;

tmp=base;

do

{

fread(tmp->persone,sizeof(TStudent),1,baseF);

if (Eof(baseF)!=0)break;

tmp->next=new TStudentBase();

tmp->next->prev=tmp;

tmp->next->next=NULL;

tmp=tmp->next;

}while (!feof(baseF));

fclose(baseF);

return base;

}

void TStudentApp::SaveBase(char *filename)

{

FILE *baseF;

baseF=fopen(filename,"w");

TStudentBase *tmp;

tmp=firstItm;

do

{

fwrite(tmp->persone,sizeof(TStudent),1,baseF);

tmp=tmp->next;

}

while(tmp!=NULL);

fclose(baseF);

};

void main()

{

basename=new char[100];

fileName=new char[100];

TStudentApp StBase;

StBase.run();

}

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


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

  • Разработка программы, создающей и управляющей базой данных, ее реализация на языке Turbo Pascal. Организация алгоритма программы. Вывод информации и возможность добавления информации в базу данных. Поиск информации в базе данных по заданному значению.

    курсовая работа [26,7 K], добавлен 19.06.2010

  • Построение абстрактной модели. Структура базового класса System_Term: формальное описание класса, структура данных и функций, инструкция программиста и пользователя. Структура базовых классов mobile, Home, TV, Internet, их составные части и функционал.

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

  • Разработка программы на языке Visual Basic. Спецификация на программный модуль. Ввод, изменение и удаление данных по определенным требованиям. Руководство системного программиста, программиста и оператора. Ведение базы данных в виде таблицы Excel.

    курсовая работа [272,5 K], добавлен 21.04.2014

  • Изучение особенностей функционирования базы данных Excel. Организация ввода и просмотра данных, сортировка, фильтрация и консолидация данных в таблицах. Подведение итогов и сводная таблица. Организация базы данных в Access. Создание запроса и отчетов.

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

  • Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.

    курсовая работа [532,7 K], добавлен 20.07.2014

  • Процесс создания и определение задач полнофункциональной системы управления базами данных. Разработка структуры таблиц, хранящих данные и формирование запросов. Построение форм для ввода и просмотра информации в запросах и создание необходимых отчетов.

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

  • Разработка пользовательского интерфейса и создание базы данных на основе реляционной СУБД Microsoft Access. Процедуры для ввода, корректировки, просмотра входных данных, их обработка и анализ. Формирование запросов и отчетов, их вывод на экран монитора.

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

  • Реализация программы в виде класса, используя для хранения информации контейнеры стандартной библиотеки шаблонов (STL) языка C++. Создание новой базы данных. Вывод информации о всех компьютерах. Удаление элементов контейнера, их поиск по критериям.

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

  • Некоторые методы класса String. Символьные и байтовые потоки. Чтение консольного ввода. Запись и чтение файлов. Сериализация объектов. Разработка программы для обработки ведомости. Процесс диалога с пользователем, а также сохранения данных в файл.

    презентация [196,7 K], добавлен 26.10.2013

  • Склад ОАО "Ориенбанк", его специфика и структура. Описание структуры базы данных складского учета для предприятия. Разработка пользовательского интерфейса программы. Инструкция к применению базы данных. Автоматизация операций и учета средств банка.

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

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