Использование библиотеки 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