База данных "Ведомость зарплаты"

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

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

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

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

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

Учреждение образования

"Гомельский торгово-экономический колледж" Белкоопсоюза

КУРСОВОЙ ПРОЕКТ

по дисциплине "Основы алгоритмизации и программирования"

База данных "Ведомость зарплаты"

специальность 2-40 01 01 "Программное обеспечение информационных технологий"

специализация 2-40 01 01 35 "Программное обеспечение обработки экономической и деловой документации"

Учащийся 3 курс, группа П-33

В.В. Ященко

Руководитель О.Л. Иткина

Курсовой проект защищён с оценкой

О.Л. Иткина

Гомель, 2013

План

  • Введение
  • 1. Пояснительная записка
  • 1.1 Постановка задачи
  • 1.2 Описание алгоритма
  • 1.2.1 Блок-схемы
  • 1.2.2 Блок-схемы основных функций программы
  • 2. Практическая часть
  • 2.1 Листинг программы
  • 2.2 Методика испытания
  • 3. Графическая часть
  • 3.1 Структурная схема проекта
  • Заключение
  • Список литературы

Введение

Цель курсового проекта: получение навыков по разработке программы на языке C\C++ для обработки данных типа структура, т.е. проектирования структуры базы данных, предназначенной для функционирования автоматизированной информационной системы. В данной работе эта цель достигается на примере разработки структуры базы данных "Ведомость зарплаты". Для введения учета типов часто используют программы, работающие с базами данных. Для более доступного использования базы данных были переведены в электронный вид, в этих целях разрабатываются программы, которые их обрабатывают. Такими программами являются Microsoft Access, SQL, FoxPro, DB2 и много других. Упрощенным видом таких программ является данная программа. В ней используются только самые простейшие операции работы с базами данных.

Программный продукт написан на языке программирования С++. Реализация темы курсовой работы выполняется с среде С++ с использованием классов Динамических массивов структур.

Системные требования для использования программы:

ь Операционная система MS-DOS, Windows 98/2000/xp/win7;

ь Процессор от Intel Pentium I и выше;

ь 32 MB RAM (ОЗУ) и выше;

ь HDD (Дисковая память) 20 MB;

Для создания программы "Характеристики персональных компьютеров" использовались:

ь Intel® Core™2 Duo CPU E4600 @2.40GHz;

ь NVIDIA GeForce 9600, GSO512/4GB DDR2;

ь Операционная система Microsoft Windows 7.

ь C++.

1. Пояснительная записка

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

Разработать программу на языке C\C++ для обработки данных типа структура. Обработка данных должна включать следующие функции:

1) создание новой базы данных (с возможностью задания имени файла);

2) просмотр существующей базы данных (чтение данных осуществить из файла);

3) редактирование базы данных (с сохранением изменений в файле);

4) дополнение базы новыми записями (с сохранением в файле);

5) удаление записей из базы данных (с сохранением в файле);

6) поиск в базе данных (по одному и двум поисковым признакам) с выводом на экран найденных записей или сообщения о неуспешном поиске;

7) сортировка данных по заданному полю (с сохранением в файле).

Блок-схемы приведены в приложении 1, листинг программы - в приложении 2

Описание функций

В программе используются следующие основные функции (табл.1.1)

1.2 Описание алгоритма

Таблица 1.1 Основные функции

Название функции

Параметры

Назначение

void main

()

Основная функция программы

Void intro

()

инициализация графики

Void intro_table

()

Приветствие прогрвммы

Void intro_graph

(int a, int b)

Графика

Void create

()

Создание файла новой базы данных

void load

(char *base)

Загрузка данных из файла в массив структур, base - имя файла базы данных

void save

(char *base)

запись содержания структур в файл, base - имя файла базы данных

void add

(char *base)

добавление записи в массив структур, base - имя файла базы данных

void view

(char *base)

просмотр содержания массива, base - имя файла базы данных

void edit

(char*base)

правка записи, base - имя файла базы данных

void delet

(char*base)

удаление записи, base - имя файла базы данных

void find

(char*base)

поиск записи (кол-во условий от 1 до 5),base - имя файла базы данных

void sort

(char*base)

сортировка базы данных, base - имя файла базы данных

void sort1

()

сортировка по имени

void sort2

()

сортировка по отделу

void sort3

()

сортировка по табельному нмеру

void sort4

()

сортировка по колисеству раб. часов

void sort5

()

сортировка по зарплате

void replace

меняет местами значения в массиве, элемент [x] меняется значением с элементом [x+1]

В программе используются следующие основные переменные (табл.1.2)

Таблица 1.2 Основные переменные

Название переменой

Тип

Назначение

Кол-во символов

GRAPH_REW

const int

Количество проездов автомобиля

1

ch

char

Хранит текущий пункт меню

1

err

int

Код ошибки

1

*file

char

Имя файла

1

size

int

Кол-во записей в БД

1

*f

FILE

Указатель на фаил

1

*name

char

Имя файла

1

list []

kyrs

Массив, в котором хранится БД

500

fin []

kyrs

Массив, хранящий результатаы поиска

500

tmp

kyrs

Временное хранилище записи БД

1

J

int

Счётчик цикла или элемент массива

1

i

int

Счётчик цикла или элемент массива

1

1.2.1 Блок-схемы

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

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

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

листинг программа база алгоритм

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Практическая часть

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

#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)

RzRadioButton2. Checked: =false;

RzRadioButton3. Checked: =false;

RzRadioButton4. Checked: =false;

RzRadioButton5. Checked: =false;

RzRadioButton6. Checked: =false;

end;

procedure TForm8. RzButton1Click (Sender: TObject);

var

a,b,c,d,e,j,x,z: variant;

begin

if RzEdit1. Text=''

then begin

ShowMessage ('Пожалуйста введите условие поиска!!! ')

end

else if RzEdit1. Text<>''

then

begin

if RzRadiobutton1. Checked then x: ='Naimenovanie';

if RzRadiobutton2. Checked then x: ='kod_tovara';

if RzRadiobutton3. Checked then x: ='data';

if RzRadiobutton4. Checked then x: ='cena';

if RzRadiobutton5. Checked then x: ='kolicestvo';

if RzRadiobutton6. Checked then x: ='nakladnaja';

z: ='=';

Form2. ADOTable1. Filter: ='';

Form2. ADOTable1. Filtered: =false;

Form2. ADOTable1. Filter: =x+z+Edit1. Text+RzEdit1. Text+Edit1. Text;

Form2. ADOTable1. Filtered: =true;

end;

end;

end.

2.2 Методика испытания

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Графическая часть

3.1 Структурная схема проекта

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

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

Назначение и условие применения программы:

Данная программа предназначена для любого пользователя персональным компьютером, которого интересует информация о зарплатах. Программа может применяться, как организацией либо предприятием, которое нуждается в информации, которая содержится в базе данных, так и рядовым пользователем в "домашних" условиях, используя ПК.

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

Минимальные требования к аппаратным средствам:

? процессор не ниже Celeron 1.2 ГГц;

? объем оперативной памяти не ниже 256 Мб;

? жесткий диск не ниже 80 Гб;

? манипулятор мышь;

? наличие печатающего устройства (струйный или лазерный принтер).

Минимальные требования к программному обеспечению:

? оперативная система Windows 2000/Me/XP/win7;

? Total Commander.

? Microsoft Office;

Обращение к программе:

Проект можно запустить на исполнение через пуск\мой компьютер\дискЕ\папка курсовой проект\База данных. Если запуск

производится с диска, то необходимо запустить файл База Данных. exe, находящийся в D: \курсовой проект\ База данных. Запуск также осуществляется двойным щелчком мыши либо кнопкой Enter.

Входные и выходные данные:

Входные данные заносятся или изменяются при поступлении новых сведений о наименованиях продукции с заполнением всех полей данной

строки, все введенные данные сохраняются в базу.

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

Назначение программы:

Данная программа предназначена для работы с ведомостью зарплат, а точнее со сведениями об зарплатах. Предоставленная программа специализирована для хранения, внесения изменений в данные, поиска, выборки и добавления данных, а так же их удаления и сортировки.

Минимальные требования к аппаратным средствам:

? процессор не ниже Celeron 1.2 ГГц;

? объем оперативной памяти не ниже 256 Мб;

? жесткий диск не ниже 80 Гб;

? манипулятор мышь;

? наличие печатающего устройства (струйный или лазерный принтер).

Минимальные требования к программному обеспечению:

? оперативная система Windows 2000/Me/XP/win7;

? Total Commander.

? Microsoft Office;

Обращение к программе:

Проект можно запустить на исполнение через пуск\мой компьютер\локальный диск…\папка курсовой проект\ LKURS2. Если запуск производится с диска, то необходимо запустить файл LKURS2. exe, находящийся в D: \курсовой проект\ База данных. Запуск также осуществляется двойным щелчком мыши либо кнопкой Enter.

Запустив файл База данных LKURS2. exe., начинается работа с базой данных "Ведомость зарплат".

Заключение

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

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

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

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

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

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

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

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

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

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

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

Список литературы

1. Иткина О.Л. Основы алгоритмизации и программирования. Практикум - Мн.: НИИ Белкоопсоюза, 2005.

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

3. Павловская Т. А.,Щупак Ю.А. С/С++. Структурное программирование: Практикум - СПб.: Питер, 2002. - 240 с.: ил.

4. Введение в язык С++, Бьярн Страустрап, 1995 г., электронный учебник.

5. Подбельский В.В. Язык Си++: Учеб. Пособие. - 5-е изд. - М.: Финансы и статистика, 2004. - 56-с.

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

...

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

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

    курсовая работа [183,6 K], добавлен 06.10.2010

  • Создание базы данных и СУБД. Структура простейшей базы данных. Особенности языка программирования Турбо Паскаль. Описание типов, констант, переменных, процедур и функций. Описание алгоритма базы данных (для сотрудников ГИБДД), листинг программы.

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

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

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

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

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

  • Создание базы данных и описание программы "Учебная база данных", предназначенной для группировки сведений об учениках. Характеристика функциональных возможностей программы: добавление записей в базу, редактирование, удаление записей и сортировка данных.

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

  • Переменные типа integer, real, их функции. Общее понятие о массиве, файлы для Pascal. Информационный и информанизационный набор списка. Реализация и тестирование программы. Выбор базы данных, внесение имени, меню. Блок-схема алгоритма, листинг программы.

    курсовая работа [306,0 K], добавлен 04.02.2013

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

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

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

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

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

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

  • Анализ проектирования баз данных на примере построения программы ведения информационной системы картотеки ГИБДД. Основные функции базы данных. Обоснование выбора технологий проектирования и реализации базы данных. Описание информационного обеспечения.

    курсовая работа [753,0 K], добавлен 27.08.2012

  • Характеристика функциональных возможностей разрабатываемой программы в среде Delphi для регистрации абитуриентов. Описание алгоритма и структуры данной программы. Поиск данных в базе по заданным параметрам. Описание модулей и листинг программы.

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

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

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

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

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

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

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.

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

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

    контрольная работа [338,4 K], добавлен 29.01.2013

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

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

  • Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.

    реферат [513,1 K], добавлен 22.10.2012

  • Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.

    дипломная работа [2,3 M], добавлен 25.05.2014

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

    контрольная работа [360,4 K], добавлен 13.06.2012

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