База данных "Ведомость зарплаты"
Разработка программы на языке 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