Проектирование базы данных абонентов телефонной сети

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.03.2013
Размер файла 1,7 M

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

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

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

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

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1. СОСТАВ И СТРУКТУРА ПРОГРАММЫ

2. ФУНКЦИИ И АЛГОРИТМЫ ФУНКЦИЙ

2.1 Функция main( )

2.2 Функция rec()

2.3 Функция load()

2.4 Функция basa()

2.5 Функция delet()

2.6 Функция print()

2.7 Функция inform

2.8 Функция informtime()

2.9 Функция convert()

2.10 Функция sort()

2.11 Функция change()

2.12 Функция printik()

3. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

ПРИЛОЖЕНИЕ 1. ЛИСТИНГ

ПРИЛОЖЕНИЕ 2. ФАЙЛ ТАБЛИЦЫ БАЗЫ ДАННЫХ

ПРИЛОЖЕНИЕ 3. ФАЙЛЫ С РЕЗУЛЬТАТОМ ВЫПОЛНЕНИЯ ЗАПРОСОВ

ЗАКЛЮЧЕНИЕ

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

введение

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

1) Создание файла, содержащего сведения об абонентах телефонной сети. Каждая запись содержит следующую информацию: фамилия, имя, отчество абонента, номер телефона, год установки, сведения о наличии задолженности по оплате. Количество записей произвольное.

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

1. Состав и структура программы

Алгоритм программы выполнен на языке С++. Программа состоит из двенадцати функций: main( ), Add ( ), SaveBaz ( ), LoadBaz ( ), Print ( ), Dolschnik ( ), Install ( ), converting ( ), Sort ( ), Udal ( ), change ( ), Poisk ( ), DeleteAll( ).

Главная функция main( ) осуществляет диалог с пользователем посредством системного меню. Так же она вызывает все остальные функцию

Для обработки информации в базе данных используются следующие функции: add( ) - позволяет добавить новую запись; DeleteAll ( ) - позволяет удалить всю базу данных. Используются функция поиска: Poisk( ). Позволяют найти абонента телефонной сети по его номеру, выводят данные на экран. Функция sort( ) производит сортировку данных поля «Задолженность» в порядке возрастания методом Шелла. Дополнительно с функцией sort() используется вспомогательная функция converting() для перевода списка в массив и наоборот. Для правки имеющихся данных используется функция change(). Функция print( ) выводит на экран всю базу данных.

Так же в программе реализовано несколько функций для работы с файлами: SaveBaz () используется для записи базы данных в файл, LoadBaz () - для считывания из файла.

2. Функции и алгоритмы функций

2.1 Функция main( )

Данная функция является основной функцией программы. С этой функции начинается выполнение всей программы. Функция main( ) не возвращает никакого значения. Данная функция вызывает все остальные функции, описанные в программе.

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

Управляющая конструкция switch передает управление к тому из помеченных с помощью case операторов, для которого значение константного выражения совпадает со значением переменной menu. Если значение переменной menu не совпадает ни с одним из константных выражений, то выполняется переход к оператору, помеченному меткой default.

Блок-схема функции main() представлена на рисунке 1.

Рисунок 1 - Блок-схема функции main()

2.2 Функция SaveBaz ()

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

Работа функции начинается с проверки условия открытия файла. Если файл не существует, он автоматически создается, если существует, то данные, имеющиеся в файле, стираются. Запись данных в файл осуществляется через цикл последовательной проверки всех элементов. Как только указатель на следующий узел равен NULL, на экран выводится сообщение об успешном сохранении базы данных.

Блок-схема функции SaveBaz () представлена на рисунке 2.

Рисунок 2 - Блок-схема функции rec()

2.3 Функция LoadBaz( )

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

Блок-схема функции LoadBaz( ) представлена на рисунке 3.

Рисунок 3 - Блок-схема функции load()

2.4 Функция Add ( )

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

Блок-схема функции basa() представлена на рисунке 4.

Рисунок 4 - Блок-схема функции basa()

2.5 Функция DeleteAll( )

Данная функция создает новые пустые базы данных (или удаляет уже существующие). В данной функции открывается файл содержащий базу данных и удаляется все ее содержимое, затем закрывается.

В результате на экран выводится сообщение об успешном удалении и производится выход из функции.

Блок-схема функции delet() представлена на рисунке 5.

Рисунок 5 - Блок-схема функции delet()

база данные файл список

2.6 Функция Install()

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

Блок-схема функции inform() представлена на рисунке 7.

Рисунок 7 - Блок-схема функции inform()

2.7 Функция Dolschnik()

Функция аналогична функции Dolschnik() только производит поиск абонентов, чья задолженность превышает введенное значение . Такимже образом как и в предыдущей функции осуществляется поиск данных путем сравнения значений.

Блок-схема функции informtime() представлена на рисунке 8.

Рисунок 8 - Блок-схема функции informtime()

2.8 Функция converting()

Функция используется как вызываемая функцией sort(). Перед сортировкой функция конвертирует базу данных из списка в массив, по завершении сортировки происходит обратное действие.

Если значение переданное функции равно нулю, то перевод осуществляется в направлении «список->массив структур», в противном случае в направлении «массив структур->список». При переводе списка в массив сперва определяется количество узлов в списке, под количество которых выделяется динамически память. Затем в элемент структуры записывается узел списка.

При переводе массива структур в список началу списка присваивается указатель на первый элемент массива. Затем элементы массива структур записываются в узлы списка.

Блок-схема функции converting() представлена на рисунке 9.

Рисунок 9 - Блок-схема функции convert()

2.9 Функция sort()

Функция сортирует данные по возрастанию задолженности абонента при помощи метода «Шелла»». В программе описаны три цикла, с помощью которых происходит сортировка массива структур. Внешний цикл while выполняется до тех пор, пока массив структур не отсортирован полностью. Во внутреннем цикле for происходит переход на следующий уровень сортировки данным методом. В следующем цикле while происходит сравнение элементов по данному условию. В случае выполнения условия элементы массива меняются местами, в противном случае остаются без изменения. При выходе из функции выдается сообщение об успешно отсортировке.

Блок-схема функции sort() представлена на рисунке 10.

Рисунок 10 - Блок-схема функции sort()

2.10 Функция change()

Функция используется для изменения данных об абоненте. Для этого осуществляется поиск введенного пользователем номера в базе данных. Как только данные поля совпадают с введенными пользователем, на экран выводится информация по данному абоненту и предложение изменения данных, удаление данных или выход в главное меню. При выборе пункта «Изменение данных» программа переходит на функцию change(). Изменение данных производится таким же образом как и при вводе данных.

Блок-схема функции change() представлена на рисунке 11.

Рисунок 11 - Блок-схема функции change()

2.11 Функция print()

Функция выводит базу данных на экран. Удобно использовать для отслеживания изменений в базе.

Блок-схема функции print() представлена на рисунке 12

Рисунок 12 - Блок-схема функции print()

3. Руководство пользователя

Главное меню программы:

В поле «Выберите пункт меню» вводится код нужного действия.

Загруженная из файла база данных (просмотр при нажатие «2», загрузка производилась нажатием кода «4»):

Отсортированная база данных по задолженности абонента(сортировка - код «8»):

Изменение значений записей:

Ввести номер телефона абонента. На экран выведутся данные про абонента, затем по очереди будут выводиться поля, в которых следует набрать нужные данные.

Контроль над проведением операций над базой данных осуществляется командой «Вывод базы данных на экран», код - «2».

По завершении работы каждого действия выходом в главное меню служит нажатие любой клавиши.

ПРИЛОЖЕНИЕ 1. ЛИСТИНГ

#include <stdio.h>

#include <stdlib.h>

#include <malloc.h>

#include <string.h>

struct telephone

{

char surname[15]; //фамилия

char name[10]; //имя

char lastname[15]; //отчество

char number[12]; //номер телефона

char year[5]; //год установки

int score; //задолженность по счетам

struct telephone *prev; //указатель на предыдущую структуру

struct telephone *next; //указатель на следующую структуру

};

struct abonent

{

char *surname;

int score;

struct abonent *prev;

struct abonent *next;

};

int n; //кол-во записей

struct telephone **a; //указатель на массив указателей на структуру telephone

struct telephone *f1=NULL; //начало списка

struct telephone *f2=NULL; //последняя запись списка

struct abonent *s1=NULL; //начало списка

struct abonent *s2=NULL; //последняя запись списка

/***** Функция добавления новых абонентов телефонной сети *****/

void Add()

{

struct telephone *f;

int j=1;

getchar();

system("cls");

while (j!=2)

{

system("cls");

f=(struct telephone*)malloc(sizeof(struct telephone));

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

printf("Ввелите фамилию абонента: ");

gets(f->surname);

printf("Его имя: ");

gets(f->name);

printf("И отчество: ");

gets(f->lastname);

printf("Номер телефона: ");

gets(f->number);

printf("Год установки телефона: ");

gets(f->year);

printf("Задолженность абонента: ");

scanf("%d",&f->score);

printf("Вы хотите добавить ещё абонента? (1 - да/2 - нет) \n");

scanf("%d",&j);

getchar();

if (f1==NULL)

{

(*f).next=NULL;

(*f).prev=NULL;

f1=f;

f2=f;

}

else

{

(*f).next=NULL;

(*f).prev=f2;

(*f2).next=f;

f2=f;

}

}

printf("запись успешно добавлена, можно продолжать...\n");

getchar();

getchar();

}

/***** Функция сохранения базы данных *****/

void SaveBaz()

{

FILE *ff;

struct telephone *f;

system("cls");

f=f1; //начать с начала списка

if ( (ff=fopen("datebase.db","w"))!=NULL) //если файл нормально открылся для записи

{

fprintf(ff, "\n");

while( f->next!=NULL )

{

fputs(f->surname, ff);

fprintf(ff, "\t");

fputs(f->name, ff);

fprintf(ff, "\t");

fputs(f->lastname, ff);

fprintf(ff, "\t");

fputs(f->number, ff);

fprintf(ff, "\t");

fputs(f->year, ff);

fprintf(ff, "\t");

fprintf(ff,"%d",f->score);

fprintf(ff,"\n");

f=f->next;

}

//запись в файл последнего узла

fputs(f->surname, ff);

fprintf(ff, "\t");

fputs(f->name, ff);

fprintf(ff, "\t");

fputs(f->lastname, ff);

fprintf(ff, "\t");

fputs(f->number, ff);

fprintf(ff, "\t");

fputs(f->year, ff);

fprintf(ff, "\t");

fprintf(ff,"%d",f->score);

fprintf(ff, "\0"); //"\0" - конец строки

printf("База данных сохранена! Поздравляю!...\n");

fclose(ff);

}

else

printf("Ошибочка datebase.db!\n");

getchar();

getchar();

}

/***** Функция считывания базы данных из файла *****/

void LoadBaz()

{

FILE *ff;

struct telephone *f;

system("cls");

f1=NULL;

if ( (ff=fopen("datebase.db","r"))!=NULL)

{

while ( fgetc(ff)!=EOF )

{

f=(struct telephone*)malloc(sizeof(struct telephone));

fscanf(ff, "%s", &(f->surname));

fscanf(ff, "%s", &(f->name));

fscanf(ff, "%s", &(f->lastname));

fscanf(ff, "%s", &(f->number));

fscanf(ff, "%s", &(f->year));

fscanf(ff, "%d", &(f->score));

if (f1==NULL)

{

(*f).next=NULL;

(*f).prev=NULL;

f1=f;

f2=f;

}

else

{

(*f).next=NULL;

(*f).prev=f2;

(*f2).next=f;

f2=f;

}

}

printf("Абоненты успешно загружены. \n");

fclose(ff);

}

else

printf("Ошибочка вышла с файлом datebase.db!\n");

getchar();

getchar();

}

/***** Функция вывода базы данных на экран *****/

void Print()

{

struct telephone *f; //*f - указатель на структуру

system("cls");

f=f1; //начать с начала списка

if (f==NULL) //если список отсутствует

printf("База данных еще не заполнена.\n");

if (f!=NULL)

{

printf(" База данных абонентов телефонной сети \n");

printf("| Фамилия | Имя | Отчество | Номер | Год | Долг |\n");

while (f!=NULL) //до тех пор пока список не закончится

{

printf("|%15s", f->surname);

printf("|%12s", f->name);

printf("|%15s", f->lastname);

printf("|%12s", f->number);

printf("|%6s", f->year);

printf("|%6d", f->score);

printf("|\n");

f=f->next; //переход на следующую запись

}

}

getchar();

getchar();

}

/***** Ведомость задолженности по оплате *****/

void Dolschnik()

{

struct telephone *f;

int dolg;

FILE *ff;

ff=fopen("Dolschnik.txt", "w"); //открыть пустой файл для записи

system("cls");

f=f1; //на начало списка

if (f==NULL) //если список отсутствует

printf("База данных еще не заполнена.\n");

if (f!=NULL)

{

printf("Абоненты, задолженность которых составила выше какой суммы необходимо вывести?\nДолг>");

scanf("%d",&dolg);

printf(" Ведомость задолженности по оплате \n");

printf(" Абоненты с задолженностью выше %d \n", dolg);

printf("| Фамилия | Имя | Долг |");

fprintf(ff," Ведомость задолженности по оплате \n");

fprintf(ff," Абоненты с задолженностью выше %d \n", dolg);

fprintf(ff,"| Фамилия | Имя | Долг |");

while( f->next!=NULL ) //пока не закончится список

{

if(f->score>dolg)

{ printf("\n");

printf("|%15s", f->surname);

printf("|%12s", f->name);

printf("|%6d|", f->score);

fprintf(ff,"\n");

fprintf(ff,"|%15s", f->surname);

fprintf(ff,"|%12s", f->name);

fprintf(ff,"|%6d|", f->score);

}

f=f->next;

}

if(f->score>dolg)

{ printf("\n");

printf("|%15s", f->surname);

printf("|%12s", f->name);

printf("|%6d|", f->score);

fprintf(ff,"\n");

fprintf(ff,"|%15s", f->surname);

fprintf(ff,"|%12s", f->name);

fprintf(ff,"|%6d", f->score);

}

fprintf(ff, "\0"); //"\0" - конец строки

printf("\n\nБаза данных сохранена! Поздравляю!...\n");

fclose(ff);

}

getchar();

getchar();

}

/***** Ведомость установки телефонов *****/

void Install()

{

struct telephone *f;

int years;

FILE *ff;

ff=fopen("install.txt", "w"); //открыть пустой файл для записи

system("cls");

f=f1; //на начало списка

if (f==NULL) //если список отсутствует

printf("База данных еще не заполнена.\n");

if (f!=NULL)

{

printf("Ведомость установки телефонов за какой год вывести?\n Год: ");

scanf("%d",&years);

printf(" Ведомость установки телефонов за %d год: \n", years);

printf("| Фамилия | Имя | Отчество |");

fprintf(ff," Ведомость установки телефонов за %d год: \n", years);

fprintf(ff,"| Фамилия | Имя | Отчество |");

while( f->next!=NULL ) //пока не закончится список

{

if(atoi(f->year)==years)

{ printf("\n");

printf("|%15s", f->surname);

printf("|%12s", f->name);

printf("|%10s|", f->lastname);

fprintf(ff,"\n");

fprintf(ff,"|%15s", f->surname);

fprintf(ff,"|%12s", f->name);

fprintf(ff,"|%10s|", f->lastname);

}

f=f->next;

}

if(atoi(f->year)==years)

{ printf("\n");

printf("|%15s", f->surname);

printf("|%12s", f->name);

printf("|%10s|", f->lastname);

fprintf(ff,"\n");

fprintf(ff,"|%15s", f->surname);

fprintf(ff,"|%12s", f->name);

fprintf(ff,"|%10s", f->lastname);

}

fprintf(ff, "\0"); //"\0" - конец строки

printf("\n\n Ведомость сохранена! Поздравляю!...\n");

fclose(ff);

}

getchar();

getchar();

}

/***** Функция преобразования списка *****/

void converting(int b)

{

struct telephone *p;

int i, k=0;

p=f1;

if (b==0)

{

p=f1;

n=1;

while ((p->next)!=NULL)

{

p=p->next;

n++;

}

a=(struct telephone**)malloc(n*sizeof(struct telephone*));

*a=f1;

p=f1;

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

{

a[i]=p;

p=p->next;

}

}

else

{

f1=*a;

(*a)->prev=NULL;

if (n>1)

(*a)->next=a[0];

for(i=0; i<n-1; i++)

(a[i])->next=a[i+1];

if (n>1)

(a[n-1])->prev=a[n-2];

(a[n-1])->next=NULL;

f2=a[n-1];

}

}

/***** Функция сортировки базы данных *****/

void Sort()

{telephone *shell;

int i,j,incr;

system("cls");

void clrscr();

if (f1==NULL) printf("Таблица пуста");

else

{

converting(0);

incr=n/2;

while(incr>0)

{

for(i=incr;i<n;i++)

{

j=i-incr;

while(j>=0)

if(a[j]->score > (a[j+incr]->score))

{

shell=a[j];

a[j]=a[j+incr];

a[j+incr]=shell;

j=j-incr;

}

else j=-1;

}

incr=incr/2;

}

converting(1);

printf("База успешна отсортирована...");

}

getchar();

getchar();

system("cls");

}

/***** Функция удаления записи *****/

void Udal (char fst[15])

{system("cls");

struct telephone *p, *q, *r, *h;

char fcon[10];

void clrscr();

if (f1==NULL) printf("Таблица пуста\n");

else

{

h=f1;

while (h!=NULL)

{

p=h;

if (strcmp((*p).number,fst)==0)

{

if((p->prev!=NULL)&&(p->next!=NULL))

{

q=p->prev;

r=p->next;

q->next=r;

r->prev=q;

free(p);

}

if ((p->prev==NULL)&&(p->next!=NULL))

{

q=p->next;

q->prev=NULL;

free(p);

f1=q;

}

if ((p->prev==NULL)&&(p->next==NULL))

{

free (p);

f1=NULL;

}

if((p->next==NULL)&&(p->prev!=NULL))

{

q=p->prev;

q->next=NULL;

free(p);

}

break;

}

h=h->next;

}

}

}

void change(char fst[15])

{system("cls");

struct telephone *f;

void clrscr();

f=f1;

while (f!=NULL)

{ if (strcmp((*f).number,fst)==0)

{

getchar();

printf("Ввелите фамилию абонента: ");

gets(f->surname);

printf("Его имя: ");

gets(f->name);

printf("И отчество: ");

gets(f->lastname);

printf("Номер телефона: ");

gets(f->number);

printf("Год установки телефона: ");

gets(f->year);

printf("Задолженность абонента: ");

scanf("%d",&f->score);

}

f=f->next;

}

}

/***** Функция поиска записи *****/

void Poisk()

{char s[15];

struct telephone *f;

int ch, flag=0;

system("cls");

void clrscr();

f=f1; //начать с начала списка

if (f==NULL) //если список отсутствует

{printf("База данных еще не заполнена.\n");

getchar();

getchar();

}

else

{ printf("Введите номер телефона: ");

scanf("%s",s);

printf(" База данных абонентов телефонной сети \n");

printf("| Фамилия | Имя | Отчество | Номер | Год | Долг |\n");

while (f!=NULL) //до тех пор пока список не закончится

{

if (strcmp((*f).number,s)==0)

{

printf("|%15s", f->surname);

printf("|%12s", f->name);

printf("|%15s", f->lastname);

printf("|%12s", f->number);

printf("|%6s", f->year);

printf("|%6d", f->score);

printf("|\n");

f=f->next; //переход на следующую запись

flag++;

}

else f=f->next;

}

if (flag==0) {system("cls"); printf("Запись не найдена..."); getchar(); getchar();}

else

{

printf("\nДальнейшия действия?\n(1 - Удалить запись, 2 - Изменить запись, 3 - Возврат в меню): ");

scanf("%d",&ch);

switch(ch)

{

case 1: Udal(s);

case 2: change(s);

case 3: system("cls");

}

}

}

}

/***** Функция удаления базы данных *****/

void DeleteAll()

{

FILE *ff;

system("cls");

ff=fopen("datebase.db", "w");

fclose(ff);

f1=NULL; //обнуляется указатель на начало списка

printf("База данных успешно удалена.\n");

getchar();

getchar();

}

/***** Основная функция *****/

void main()

{

int menu;

system("chcp 1251");

system("cls");

while(1)

{

system("chcp 1251");

system("cls");

printf("\n\n\n\n");

printf("\t\t1) - Ввод данных абонентов телефонной сети \n");

printf("\t\t2) - Вывод данных абонентов на экран \n");

printf("\t\t3) - Сохранение базы данных \n");

printf("\t\t4) - Загрузка базы данных \n");

printf("\t\t5) - Удаление баз данных \n");

printf("\t\t6) - Ведомость установки телефонов \n");

printf("\t\t7) - Ведомость задолженности по оплате \n");

printf("\t\t8) - Сортировка по задолженности \n");

printf("\t\t9) - Поиск по номеру телефона абонента \n");

printf("\t\t10) - Выход \n");

printf("\n\n\n Выберите пункт меню: ");

scanf("%d", &menu);

switch (menu) //оператор выбора

{

case 1: Add(); //Функция добавления новых абонентов телефонной сети

break;

case 2: Print(); // Функция вывода базы данных на экран

break;

case 3: SaveBaz(); // Функция сохранения базы данных

break;

case 4: LoadBaz(); // Функция считывания базы данных из файла

break;

case 5: DeleteAll(); // Функция удаления базы данных

break;

case 6: Install(); // Ведомость установки телефонов

break;

case 7: Dolschnik(); // Ведомость задолженности по оплате

break;

case 8: Sort(); // Сортировка по задолженности

break;

case 9: Poisk(); // Сортировка по задолженности

break;

case 10: exit(1);

default:

{

system("chcp 1251");

system("cls");

printf("Вы ошиблись со значением\n");

printf("Нажмите любую клавишу...");

getchar();

getchar();

}

break;

}

}

}

приложение 2

файл таблицы базы данных

приложение 3

файлы с результатом выполнения запросов

Файл, содержащий информацию о задолженности выше введенного значения:

Файл, содержащий информацию о абонентах, установивших телефон в заданный год:

Заключение

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

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

Библиографический список

1. Лафоре Р. Объектно-ориентированное программирование в С++ / Р. Лафоре - 4-е изд. - Питер.: 2004. - 654 с.

2. Давыдов В.Г. Технологии программирования. С++ / В. Г. Давыдов - Санкт-Петербург: БХВ-Петербург, 2005. - 432 с.

3. Касюк С.Т. Конспект лекций по дисциплине «Информатика» / С. Т. Касюк - Челябинск: ЮУрГУ, 2005. - 212 с.

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


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

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

    курсовая работа [295,1 K], добавлен 16.12.2013

  • Анализ проектирования базы данных, построение форм и запросов. Создание программы работы городской телефонной сети с помощью метода канонического проектирования в Microsoft Access 2002. Смета затрат на разработку базы данных "Городская телефонная сеть".

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

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

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

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

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

  • Запросы к базам данных: SQL, QBE, UDF, транзакции. Создание таблиц в системе управления базами данных MS Access, определение основных свойств полей. Проектирование базы данных "ТМЦ". Создание файла базы данных в MS Access, конструкторы и мастера.

    контрольная работа [1,6 M], добавлен 15.03.2011

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

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

  • Структура программного комплекса. Ввод информации из заданного файла. Создание набора данных. Добавление элементов в конец набора данных. Просмотр всех элементов набора данных. Копирование информации из НД в заданный файл. Сортировка массива по номерам.

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

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

    контрольная работа [1,4 M], добавлен 11.04.2012

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

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

  • Базы данных и системы управления базами данных. Физическое размещение и сортировка записей. Основные виды баз данных. Создание базы данных "Домашняя библиотека" в приложении Microsoft Access. Создание в базе данных запросов и скорость выбора информации.

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

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