Автор работы: Пользователь скрыл имя, 08 Мая 2013 в 10:03, курсовая работа
В истории развития цивилизации произошло несколько информационных революций — преобразований общественных отношений из-за кардинальных изменений в сфере обработки информации. Следствием подобных преобразований являлось приобретение человеческим обществом нового качества.
Первая революция связана с изобретением письменности, что привело к гигантскому качественному скачку. Появилась возможность передачи знаний от поколения к поколению.
Вторая (середина XVI в.) вызвана изобретением книгопечатания, которое радикально изменило индустриальное общество, культуру, организацию деятельности.
Введение 4
1. Постановка задачи 6
2. Выбор решения 7
2.1 Определение необходимых модулей 7
2.2 Определение структуры файла базы данных 8
3. Описание разработки программы 9
4. Отладка и тестирование 13
5. Описание программы 14
5.1 Разработка приложения KursRab.exe 14
5.2 Разработка меню 16
6. Руководство пользователя 17
Заключение 20
Список используемых источников 21
printf(" | Удаление прошло успешно! |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
*guf=1;
_getch();
}
else
{
printf("
______________________________
printf(" | База Данных уже пуста! |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
_getch();
}
}
void DeleteElem(list* &head, list* &tail, int* &guf, int* &nov)//удаление какого-либо элемента БД
{
int psk, i=1, r=0, s=0;
list *T=NULL, *K=NULL, *B=NULL, *R=NULL, *Z=NULL, *P=NULL;
if(*guf!=1)
{ printf("\n\n\n
______________________________
printf(" | Введите номер элемента, который нужно удалить |\n");
printf("
|_____________________________
scanf("%d", &psk);
system("cls");
T=head;
P=tail;
while(T!=NULL)
{
fflush(stdin);
if(T->numb==psk)
{
if(head==tail)
{
delete(T);
*guf=1;
r++;
break;
}
else
{
if(T==head)
{
K=T->next;
head=K;
Z=T;
T=head;
delete(Z);
r++;
}
else
{
if(T==P)
{
B->next=NULL;
K=tail;
tail=B;
delete(K);
r++;
break;
}
else
{
R=T->next;
delete(T);
B->next=R;
T=B;
r++;
}
}
}
}
B=T;
T=T->next;
}
}
if(r!=0&&*guf!=1)
{
T=head;
printf("
______________________________
printf(" | Заново введите нумерацию |\n");
printf("
|_____________________________
while(T!=NULL)
{
printf("
______________________________
printf(" | для %d элемента: |\n", i);
printf("
|_____________________________
scanf("%d", &T->numb);
i++;
T=T->next;
}
}
else
{
if(r==s&&*guf!=1)
{
printf("
______________________________
printf(" | Элемента под таким номером нет. |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
_getch();
}
else
{
printf("
______________________________
printf(" | Былы удалены все имеющиеся элементы и БД пуста. |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
*nov=0;
_getch();
}
}
}
A.7 – «Файл sortfiltr.cpp»
#include "standlib.h"
void sortalf(list* &head, int* &guf)//сортировка по алфавиту
{
int i=0;
list* T;
char alfavit[28]="
char fm[2];
char alf[2];
if(*guf!=1)
{
printf("\n\n\n|| Номер || Фамилия || Дата рождения || Группа || телефон ||\n");
while(alfavit[i]!=NULL)
{
fflush(stdin);
T=head;
alf[0]=alfavit[i];
while(T!=NULL)
{
fm[0]=T->fam[0];
fm[0]=tolower(fm[0]);
if(fm[0]==alf[0])
{
printf("%7d %16s %18s %15s %15.0f \n",T->numb, &T->fam, &T->date, &T->group, T->tel);
T=T->next;
}
else
{
T=T->next;
}
}
i++;
}
_getch();
}
else
{
printf("
______________________________
printf(" | База Данных пуста! |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
_getch();
}
}
void FiltrAlf(list* &head, int* &guf)//фильтрация по алфавиту
{
list *T, *K;
char k[2],r[2];
if(*guf!=1)
{
T=head;
printf("
______________________________
printf(" | Введите букву, по которой будет производится фильтрация |\n");
printf("
|_____________________________
scanf ("%s", &k);
system("cls");
k[0]=tolower(k[0]);
printf("\n\n\n|| Номер || Фамилия || Дата рождения || Группа || телефон ||\n");
while (T!=NULL)
{
r[0]=T->fam[0];
r[0]=tolower(r[0]);
if (r[0]==k[0])
{
printf("%7d %16s %18s %15s %15.0f \n",T->numb, &T->fam, &T->date, &T->group, T->tel);
T=T->next;
K=head;
}
else
{
T=T->next;
continue;
}
}
if(K!=head)
{
system("cls");
printf("
______________________________
printf(" | Ни одного студента не найдено. |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
}
}
else
{
printf("
______________________________
printf(" | База данных пуста! |\n");
printf(" | Нажмите на любую клавишу для выхода. |\n");
printf("
|_____________________________
}
_getch();
Приложение B
Снимки экрана
B.1 – «Информационная заставка»
B.2 – «Таблица студентов»
Приложение С
Результат работы программы
C.1 – «Файл std.txt»
1 Robokopov 10/12/1994 11vv45 687079
2 Stallonov 05/01/1993 11vv45 239878
3 Willisenko 09/09/1994 11vv45 666699
4 Stethemov 08/12/1992 11vv45 131345
5 Shwarzev 09/09/1993 11vv45 146789
6 Lundgremov 31/12/1993 11vv45 345678
7 Chanov 12/04/1994 11vv45 456712
8 Spidermanov 14/01/1993 11vv45 567890
9 Torov 12/12/1994 11vv45 123456
10 Lektorov 31/12/1994 11vv45 343434
11 Subzerov 26/12/1993 11vv45 456789
12 Noobsaibotov 12/12/1993 11vv45 456789
13 Ironmanov 12/12/1993 11vv45 454545
14 Cobainov 12/12/1994 11vv45 345623
15 Grohlov 12/01/1993 11vv45 456712
16 Novoselichev 12/12/1992 11vv45 453212