Скачиваний:
70
Добавлен:
02.05.2014
Размер:
479.23 Кб
Скачать

2. Блок-схемы:

2.1 Общий принцип работы программы:

Рис 1. – Структурная схема программы

2.2 Блок-схемы основных функций программы:

Рис 2. – Блок-схема главной функции–main():

Рис 3. – Функции create(), создает файл базы данных

Рис 4. – Функции open(), открывает файл базы данных

Рис 5. Функции load(), загружает данные из файла в базу данных

Рис 6. Функции save(), сохраняет изменения в файле базы данных

Рис 7. Функции add(), добавляет запись в базу данных

Рис 8. – Функции view(), осуществляет просмотр базы данных

Рис 9.Функции edit(), изменяет содержимое записи базы данных

Рис 10. – Функции delet(), удаляет запись из базы данных

Рис 11. – Функции find(), поиск записи с базе данных

Рис 12. Функции sort(), сортировка быза данных

Рис 13. – Функции sort1()…sort5()1,осуществляют сортировку базы данных

Рис 14. – Функции replace(int x), меняет местами значения элементов массив

1 Функции sort1(), sort2(),sort3(), sort4(),sort5() аналогичны с той лишь разницей, что они сравнивают разные поля структуры kyrs

3. Тестирование

На рисунке 1представлено главноеменю программы,котороепозволяет осуществить открытие базы данных,созданиебазы данных иливыход из программы.

Рис 1. – Главное меню программы

На рисунке 2 представлено меню программы для работы с БД, позволяющее открытие, редактирование,поиск и сортировку базы данных

Рис 2. – Меню выбора различных действий для работы с базой данных

На рисунке 3осуществлён просмотр базы данных

Рис 3. – Просмотр базы данных

На рисунке 4 представлена процедура редактирования БД

Рис 4. – Изменение записи в базе

На рисунке 5 представлен результат поиска в БД по полю“Номер отдела”

Рис 5. Результаты поиска

На рисунках (6,7) представлена сортировка БД по полю “F.I.O”

Рис 6. – Сортировка

Рис7. Вид БД после сортировки по полю «F.I.O»

Приложение

Листинг программы

#include<stdio.h>

#include<conio.h>

#include<graphics.h>

#include<stdlib.h>

#include<string.h>

#include<iostream.h>

#include"G:\temp\kyrs_ope.cpp"

#include"G:\temp\kyrs_cre.cpp"

//Constations ::begin

const int GRAPH_REW=3;

// ::end

//Global variable ::begin

char ch,*file;

int err=0, size=0;

// ::end

//Fuction for graphics ::begin

void intro();

void intro_table();

void intro_graph(int, int);

// ::end

//BEGIN PROGRAMM e2e4;

void main(){

clrscr();intro();closegraph();clrscr();

textmode(3); _setcursortype(_NOCURSOR);textcolor(14);

cprintf("\r\n");cprintf("\r\n");cprintf("\r\n");cprintf("\r\n");cprintf("\r\n");

for (int i=0;i<30;i++)cprintf(" ");cprintf("%c",char(201));

for (i=0;i<16;i++)cprintf("%c",char(205));cprintf("%c\r\n",char(187));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c Select action: %c\r\n",char(186), char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c1. Open table %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c2. Create table %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c3. Exit %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c",char(200));

for (i=0;i<16;i++)cprintf("%c",char(205));cprintf("%c\r\n",char(188));

do ch=getch();while((ch!='1')&&(ch!='2')&&(ch!='3'));

if (ch=='3') exit(0);

if (ch=='2') create();

if (ch=='1') {

textcolor(2);

while (err==0){

for (i=0;i<20;i++)cprintf(" ");cprintf("Please enter name file: ");

char *name;

FILE *f;

scanf("%s",name);

if ((f=fopen(name,"r"))==NULL){

textcolor(4);

for (i=0;i<20;i++)cprintf(" ");cprintf("File not found!\r\n");

textcolor(2);}else{

err=1;

file=new char(strlen(name));

strcpy(file,name);

fclose(f);

open(file);

}

}

delete file;

}

//END PROGRAMM

//Graphics module

//BEGIN

void intro(){

int gd=DETECT, gm, t=0,c=0,f=0,i,j

initgraph(&gd, &gm, "");setcolor(2);setwritemode(0);

intro_table();

while (c==0){

intro_graph(t,200);setcolor(0);intro_graph(t,200);setcolor(2);

t++;if (t==580) {t=0;f++;}; if (f==GRAPH_REW) c=1;}

intro_graph(100,200);

for(i=0; i<20; i++)printf("\n");

printf("Press any key...");getch();}

void intro_table(){

printf("%c",char(201));for(int i=0;i<78;i++)printf("%c",char(205));

printf("%c%c",char(187),char(186));for(i=0;i<78;i++)printf(" ");

printf("%c%c",char(186),char(186));for(i=0;i<32;i++)printf(" ");

printf("Data Base v1.0");for(i=0;i<32;i++)printf(" ");

printf("%c%c",char(186),char(186));for(i=0;i<78;i++)printf(" ");

printf("%c%c",char(186),char(186));for(i=0;i<78;i++)printf(" ");

printf("%c%c",char(186),char(186));for(i=0;i<30;i++)printf(" ");

printf("Vedomost' zarplaty");for(i=0;i<30;i++)printf(" ");

printf("%c%c",char(186),char(186));for(i=0;i<78;i++)printf(" ");

printf("%c%c",char(186),char(200));for(i=0;i<78;i++)printf("%c",char(205));

printf("%c%c",char(188));}

void intro_graph(int a, int b){

moveto(a,b-1);

lineto(a,b+100);moveto(a,b+100);lineto(a+50,b+100);arc(a+80,b+100,0,180,30);

circle(a+80,b+100,25);circle(a+80,b+100,15);

moveto(a+110,b+100);lineto(a+200,b+100);moveto(a+200,b+100);lineto(a+200,b-1);

moveto(a+200,b-1);lineto(a,b-1);moveto(a+200,b+100);lineto(a+210,b+100);

moveto(a+200,b+70);lineto(a+210,b+70);moveto(a+210,b+100);lineto(a+210,b-1);

moveto(a+210,b-1);lineto(a+290,b-1);moveto(a+290,b-1);lineto(a+310,b+35);

moveto(a+210,b+100);lineto(a+220,b+100);arc(a+250,b+100,0,180,30);

circle(a+250,b+100,25);circle(a+250,b+100,15);arc(a+250,b+100,35,120,35);

moveto(a+230,b+70);lineto(a+230,b+7);moveto(a+230,b+7);lineto(a+270,b+7);

moveto(a+270,b+7);lineto(a+290,b+35);moveto(a+290,b+35);lineto(a+230,b+35);

moveto(a+290,b+35);lineto(a+290,b+79);moveto(a+290,b+79);lineto(a+280,b+79);

moveto(a+310,b+35);lineto(a+310,b+100);moveto(a+310,b+100); lineto(a+280,b+100);

arc(a+155,b+29,10,270,20); moveto(a+150,b+4);lineto(a+150,b+94);

arc(a+155,b+69,170,90,20); moveto(a+160,b+4);lineto(a+160,b+94);

}

//END

//kyrs_ope.cpp

extern char ch;

extern int size;

int fs=0;

const int tab=1;

const int zag=4;

const int tex=7;

struct kyrs {

char na[30];

float pl, ze;

int et, ye, id;

} list[500], tmp, fin[500];

void load(char *base);

void save(char *base);

void add(char *base);

void view(char *base);

void edit(char *base);

void delet(char *base);

void find(char *base);

void sort(char *base);

void sort1();

void sort2();

void sort3();

void sort4();

void sort5();

void replace(int);

void open(char *base){

load(base);

clrscr();

textcolor(9);

cprintf("\r\n");cprintf("\r\n");cprintf("\r\n");cprintf("\r\n");cprintf("\r\n");

for (int i=0;i<30;i++)cprintf(" ");cprintf("%c",char(201));

for (i=0;i<16;i++)cprintf("%c",char(205));cprintf("%c\r\n",char(187));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c Select action: %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c1. View table %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c2. Edit table %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c3. Add record %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c4. Delete %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c5. Find %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c6. Sort %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c7. Exit %c\r\n",char(186),char(186));

for (i=0;i<30;i++)cprintf(" ");cprintf("%c",char(200));

for (i=0;i<16;i++)cprintf("%c",char(205));cprintf("%c\r\n",char(188));

do ch=getch();

while((ch!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5')&&(ch!='6')&&(ch!='7'));

switch (ch){

case '1': view(base);break;

case '2': edit(base);break;

case '3': add(base);break;

case '4': delet(base);break;

case '5': find(base);break;

case '6': sort(base);break;

case '7': exit(0); break;

default: exit(0);

}}

void sort(char *base){

clrscr();

textcolor(5);

cprintf("Please select field:\r\n1.F.I.O 2.Nomer otdela 3.Tabel'niy nomer 4.Kol-vo rab. chasov 5.Zarplata\n6.Back to menu");

do ch=getch();

while((ch!='1')&&(ch!='2')&&(ch!='3')&&(ch!='4')&&(ch!='5')&&(ch!='6'));

switch (ch){

case '1': sort1();break;

case '2': sort2();break;

case '3': sort3();break;

case '4': sort4();break;

case '5': sort5();break;

case '6': open(base);break;

default: exit(0);}

textcolor(15);save(base);

cprintf("\r\nSorting...OK! View base");

getch();open(base);}

void sort1(){

int i,j;

for (i=0; i<size; i++)

for (j=0; j<size; j++)

if (strcmp(list[j].na,list[j+1].na)>0) replace(j);

}

void sort2(){

int i,j;

for (i=0; i<size; i++)

for (j=0; j<size; j++)

if (list[j].pl<list[j+1].pl) replace(j);}

void sort3(){

int i,j;

for (i=0; i<size; i++)

for (j=0; j<size; j++)

if (list[j].et<list[j+1].et) replace(j);}

void sort4(){

int i,j;

for (i=0; i<size; i++)

for (j=0; j<size; j++)

if (list[j].ye<list[j+1].ye) replace(j);}

void sort5(){

int i,j;

for (i=0; i<size; i++)

for (j=0; j<size; j++)

if (list[j].ze<list[j+1].ze) replace(j);}

void replace(int x){

strcpy(tmp.na,list[x].na);

tmp.pl=list[x].pl;tmp.et=list[x].et;

tmp.ye=list[x].ye;tmp.ze=list[x].ze;

strcpy(list[x].na,list[x+1].na);

list[x].pl=list[x+1].pl;list[x].et=list[x+1].et;

list[x].ye=list[x+1].ye;list[x].ze=list[x+1].ze;

strcpy(list[x+1].na,tmp.na);

list[x+1].pl=tmp.pl;list[x+1].et=tmp.et;

list[x+1].ye=tmp.ye;list[x+1].ze=tmp.ze;

strcpy(tmp.na, "");

tmp.pl=0;tmp.et=0;tmp.ye=0;tmp.ze=0;}

void find(char *base){

clrscr();

textcolor(5);cprintf("Please enter find record:\r\n");

printf("F.I.O: ");cin.getline(tmp.na,30);

printf("Nomer otdela (m^2): ");scanf("%f",&tmp.pl);

printf("Tabel'niy nomer: ");scanf("%u",&tmp.et);

printf("Kol-vo rab. chasov: ");scanf("%u",&tmp.ye);

printf("Zarplata (t. rub.): ");scanf("%f",&tmp.ze);

char *css;int t=0;

for (;t<=strlen(tmp.na);t++){

css=strchr (tmp.na,' '); if (css) *(css)='_';}

int j=0,i=0;

for (;j<=size;j++)

if ((strcmp(tmp.na,list[j].na)==0)||(tmp.pl==list[j].pl)||(tmp.et==list[j].et)||(tmp.ye==list[j].ye)||(tmp.ze==list[j].ze)){

strcpy(fin[i].na,list[j].na);

fin[i].pl=list[j].pl;fin[i].et=list[j].et;

fin[i].ye=list[j].ye;fin[i].ze=list[j].ze;

fin[i].id=list[j].id;i++;}

fs=--i;

strcpy(tmp.na, "");

tmp.pl=0;tmp.et=0;tmp.ye=0;tmp.ze=0;

getch();

textcolor(tab);int z,l,p=0;clrscr();

cout<<char(201); for(z=1; z<=3; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=16; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=15; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=8; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=15; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=15; z++)cout<<char(205);

cout<<char(187)<<"\n";

cout<<char(186); textcolor(zag); cprintf("%3s","ID"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%16s","F.I.O"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%15s","Nomer otdela"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%8s","T.nomer"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%15s","Rab. chasi"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%15s","Zarplata"); textcolor(tab);

cout<<char(186)<<"\n";

cout<<char(204); for(l=1; l<=3; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=16; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=15; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=8; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=15; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=15; l++)cout<<char(205);

cout<<char(185)<<"\n";

for(z=0; z<=fs; z++){

cout<<char(186); textcolor(tex); cprintf("%3u",fin[z].id);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%16s", fin[z].na);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%15u", fin[z].pl);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%8s", fin[z].et);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%15u", fin[z].ye);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%15.2f", fin[z].ze);textcolor(tab);

cout<<char(186)<<"\n";

if (z<=(fs-1)){

cout<<char(204);

for(l=1; l<=3; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=16; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=15; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=8; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=15; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=15; l++)cout<<char(205); cout<<char(185)<<"\n";}

p++;

if (p==10){

p=0;getch();}}

cout<<char(200);

for(z=1; z<=3; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=16; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=15; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=8; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=15; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=15; z++)cout<<char(205); cout<<char(188)<<"\n";

getch();open(base);}

void delet(char *base){

clrscr();int i,j;

textcolor(1);cprintf("ID: ");scanf("%u",&i);--i;

if (i==size) --size;else{

for (j=i;j<size;j++){

strcpy(list[j].na,list[j+1].na);

list[j].pl=list[j+1].pl;

list[j].et=list[j+1].et;

list[j].ye=list[j+1].ye;

list[j].ze=list[j+1].ze;

}--size;}

textcolor(4);cprintf("\r\nDelete record %u...OK!\r\n",i+1);

getch();save(base);open(base);}

void edit(char *base){

clrscr();int i;

textcolor(1);cprintf("ID: ");scanf("%u",&i);--i;

cprintf("\r\nOLD:\r\n");

printf("F.I.O : %30s\n",list[i].na);

printf("Nomer Otdel: %30.2f\n",list[i].pl);

printf("Tabel'niy nomer : %30u\n",list[i].et);

printf("Kol-vo rab. chasov : %30u\n",list[i].ye);

printf("Zarplata (t. rub.): %30.2f\n",list[i].ze);

cprintf("\r\nNEW:\r\n");

printf("F.I.O: ");cin.getline(tmp.na,30);

printf("Nomer otdela: ");scanf("%f",&tmp.pl);

printf("Tabel'niy nomer: ");scanf("%u",&tmp.et);

printf("Kol-vo rab. chasov: ");scanf("%u",&tmp.ye);

printf("Zarplata (t. rub.): ");scanf("%f",&tmp.ze);

char *css;int t=0;

for (;t<=strlen(tmp.na);t++){

css=strchr (tmp.na,' '); if (css) *(css)='_';}

strcpy(list[i].na,tmp.na);

list[i].pl=tmp.pl;list[i].et=tmp.et;

list[i].ye=tmp.ye;list[i].ze=tmp.ze;

strcpy(tmp.na, "");

tmp.pl=0;tmp.et=0;tmp.ye=0;tmp.ze=0;

save(base);getch();open(base);}

void view(char *base){

textcolor(tab);int z,l,p=0;clrscr();

cout<<char(201); for(z=1; z<=3; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=16; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=15; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=8; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=15; z++)cout<<char(205);

cout<<char(203); for(z=1; z<=15; z++)cout<<char(205);

cout<<char(187)<<"\n";

cout<<char(186); textcolor(zag); cprintf("%3s","ID"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%16s","F.I.O"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%15s","N otdela"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%8s","T.nomer"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%15s","Rab.chasi"); textcolor(tab);

cout<<char(186); textcolor(zag); cprintf("%15s","Zarplata"); textcolor(tab);

cout<<char(186)<<"\n";

cout<<char(204); for(l=1; l<=3; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=16; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=15; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=8; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=15; l++)cout<<char(205);

cout<<char(206); for(l=1; l<=15; l++)cout<<char(205);

cout<<char(185)<<"\n";

for(z=0; z<=size; z++){

cout<<char(186); textcolor(tex); cprintf("%3u",list[z].id);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%16s", list[z].na);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%15.2f", list[z].pl);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%8u", list[z].et);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%15u", list[z].ye);textcolor(tab);

cout<<char(186); textcolor(tex); cprintf("%15.2f", list[z].ze);textcolor(tab);

cout<<char(186)<<"\n";

if (z<=(size-1)){

cout<<char(204);

for(l=1; l<=3; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=16; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=15; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=8; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=15; l++)cout<<char(205); cout<<char(206);

for(l=1; l<=15; l++)cout<<char(205); cout<<char(185)<<"\n";}

p++;

if (p==10){

p=0;getch();}}

cout<<char(200);

for(z=1; z<=3; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=16; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=15; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=8; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=15; z++)cout<<char(205); cout<<char(202);

for(z=1; z<=15; z++)cout<<char(205); cout<<char(188)<<"\n";

getch();open(base);}

void add(char *base){

clrscr();

FILE *f=fopen(base,"a");

textcolor(15);

printf("F.I.O: ");cin.getline(tmp.na,30);

printf("Nomer otdela: ");scanf("%f",&tmp.pl);

printf("Tabel'niy nomer: ");scanf("%u",&tmp.et);

printf("Kol-vo rab. chasov: ");scanf("%u",&tmp.ye);

printf("Zarplata (t. rub.): ");scanf("%f",&tmp.ze);

char *css;int t=0;

for (;t<=strlen(tmp.na);t++){

css=strchr (tmp.na,' '); if (css) *(css)='_';}

size++;

strcpy(list[size].na,tmp.na);

list[size].pl=tmp.pl;

list[size].et=tmp.et;

list[size].ye=tmp.ye;

list[size].ze=tmp.ze;

strcpy(tmp.na, "");

tmp.pl=0;tmp.et=0;

tmp.ye=0;tmp.ze=0;

fclose(f);

save(base);

open(base);

}

void save(char *base){

int j=0;

FILE *f=fopen(base,"w");

fprintf(f,"%s %1.2f %u %u %1.2f", list[j].na, list[j].pl, list[j].et, list[j].ye, list[j].ze);

for (j=1;j<=size;j++)

fprintf(f,"\n%s %1.2f %u %u %1.2f", list[j].na, list[j].pl, list[j].et, list[j].ye, list[j].ze);

fclose(f);

}

void load(char *base){

int j=0;

FILE *f=fopen(base,"r");

while(!feof(f)){

fscanf(f,"%s %f %u %u %f", &tmp.na , &tmp.pl, &tmp.et, &tmp.ye, &tmp.ze);

if (strcmp(tmp.na,"")!=0){

strcpy(list[j].na,tmp.na);

list[j].pl=tmp.pl;

list[j].et=tmp.et;

list[j].ye=tmp.ye;

list[j].ze=tmp.ze;

list[j].id=j+1;

j++;}

strcpy(tmp.na, "");

tmp.pl=0;tmp.et=0;

tmp.ye=0;tmp.ze=0;}

size=--j;fclose(f);}

//kyrs_cre.cpp

extern char *file;

void create(){

textcolor(2);

cprintf("Please enter name new file: ");

char *name;

scanf("%s",name);

cprintf("\r\nCreating new file...\r\n");

FILE *f;

if ((f=fopen(name,"w"))==NULL){

textcolor(4);

cprintf("Error!!!");

getch();

exit(1);

}

file=new char(strlen(name));

strcpy(file,name);

fclose(f);

open(file)

Заключение

В ходе выполнения курсовой работы разработана программа наязыкеСи для обработки данных типа структура. Обработка данных включает:

 создания новой БД

 просмотр существующей БД

 редактирование БД

 дополнение БД

 удаление записей из БД

 сортировка БД по определённому полю

 поиск записи по одному или нескольким критериям

Также в программе разработана графическая заставка.

При разработке программе использовались функции,массивы,циклы,

указатели. Для реализации заставки использовалась графическая библиотека Си.

Разработанная программа позволяет повысить эффективность обработки данных и сократить время на поиск необходимых записей.

3

Соседние файлы в папке Курсовая работа - Ведомость зарплаты