Разработка приложения KursRab.exe

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

PZ_k_KR (1).docx

— 450.09 Кб (Скачать файл)

printf("        |_____________________________________________________________|\n");

Sleep( 666 );

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А.2 – «Файл newadd.cpp»

#include "standlib.h"

 

void New(list* &head, list* &tail, int* &guf) //добавление "головы"

head=new list;

printf("         _____________________________________________________________\n");

printf("        |               Введите прядковый номер студента              |\n");

printf("        |_____________________________________________________________|\n");

scanf("%d",&head->numb);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                    Введите фамилию студента                 |\n");

printf("        |_____________________________________________________________|\n");

scanf("%s", &head->fam);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                Введите дату рождения студента               |\n");

printf("        |_____________________________________________________________|\n\n");

scanf("%s", &head->date);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                Введите номер группы студента                |\n");

printf("        |_____________________________________________________________|\n\n");

scanf("%s", &head->group);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |           Введите контактный телефон студента               |\n");

printf("        |_____________________________________________________________|\n\n");

scanf("%lf", &head->tel);

system("cls");

 

head->next=NULL;

tail=head;

*guf=0;

}

 

 

 

 

void Add(list* &tail) //Добавление последующих данных

{

list *T;

 

T=new list;

system("cls");

printf("         _____________________________________________________________\n");

printf("        |               Введите прядковый номер студента              |\n");

printf("        |_____________________________________________________________|\n");

scanf("%d",&T->numb);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                    Введите фамилию студента                 |\n");

printf("        |_____________________________________________________________|\n");

scanf("%s", &T->fam);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                Введите дату рождения студента               |\n");

printf("        |_____________________________________________________________|\n\n");

scanf("%s", &T->date);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                Введите номер группы студента                |\n");

printf("        |_____________________________________________________________|\n\n");

scanf("%s", &T->group);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |           Введите контактный телефон студента               |\n");

printf("        |_____________________________________________________________|\n\n");

scanf("%lf", &T->tel);

 

T->next=NULL;

tail->next=T;

tail=T;       

 } 

A.3 – «Файл print.cpp»

#include "standlib.h"

 

void Print(list* &head, list* &tail, int* &guf)//вывод на экран

{

if(*guf!=1)

{

list *T;

 

T=head;

printf("\n\n\n||   Номер   ||   Фамилия   ||   Дата рождения   ||   Группа   ||   телефон   ||\n");

while (T!=NULL)

{

printf("%7d %16s %18s %15s %15.0f \n",T->numb, &T->fam, &T->date, &T->group, T->tel);

T=T->next;

}

_getch();

}

else

{

system("cls");

printf("         _____________________________________________________________\n");

    printf("        |                         База Данных пуста!                  |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

printf("        |_____________________________________________________________|\n");

_getch();

}

 

}

 

A.4 – «Файл poisk.cpp»

#include "standlib.h"

 

void poiskpofam(list* &head, int* &guf)//поиск по БД

{

list *Z, *T;

char q[20],l[20];

int i=0;

int r=0;

 

if(*guf!=1)

{   

Z=head;

printf("         _____________________________________________________________\n");

printf("        |        Введите фамилию студента, которого нужно найти       |\n");

printf("        |_____________________________________________________________|\n\n");

scanf ("%s", &q);

while(q[r]!=0)

{

r++;

}

system("cls");

for(int j=0;j<r;j++)

q[j]=tolower(q[j]);

printf("\n\n\n||   Номер   ||   Фамилия   ||   Дата рождения   ||   Группа   ||   телефон   ||\n");

while (Z!=NULL)

{

for(int j=0;j<r;j++)

{

l[j]=Z->fam[j];

l[j]=tolower(l[j]);

}

 

if (l[i]==q[i])

{

i++;

}

else

{

i=0;

Z=Z->next;

continue;

}

if (i==r)

{

printf("%7d %16s %18s %15s %15.0f \n",Z->numb, &Z->fam, &Z->date, &Z->group, Z->tel);

i=0;

T=head;

Z=Z->next;

}

 

}

if(T!=head)

{

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                 Данного студента не существует.             |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

printf("        |_____________________________________________________________|\n");

}

}

else

{

printf("         _____________________________________________________________\n");

printf("        |                        База данных пуста!                   |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

printf("        |_____________________________________________________________|\n");

}

_getch();


A.5 – «Файл saveread.cpp»

#include "standlib.h"

 

void savein(list* &head, int* &guf)

{

FILE* BD;

if(*guf!=1)

{

fflush(stdin);

list* bg;

while(999)

{

system("cls");

 

BD=fopen("E:\\kursrab\\std.txt","a+");

if(BD==NULL)

{

printf(" _____________________________________________________________________________\n");

printf("|             Упс, похоже не существует папки 'kursrab' по адресу             |\n");

printf("|                              'E:\\kursrab\\std.txt'                           |\n");

printf("|                       Нажмите на любую клавишу для выхода.                  |\n");

printf("|_____________________________________________________________________________|\n");

fclose(BD);

_getch();

break;

}

fclose(BD);

BD=fopen("E:\\kursrab\\std.txt","w");

bg=head;

while (bg!=NULL)

{

fprintf(BD,"%d %s %s %s %f\n",bg->numb, &bg->fam, &bg->date, &bg->group, bg->tel);

bg=bg->next;

}

fclose(BD);

system("cls");

printf("         _____________________________________________________________\n");

printf("        |                  Сохранение прошло успешно!                 |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

printf("        |_____________________________________________________________|\n");

_getch();

system("cls");

break;

}

}

else

{

printf("         _____________________________________________________________\n");

printf("        |                         База Данных пуста!                  |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

printf("        |_____________________________________________________________|\n");

_getch();

system("cls");

}

}

 

void readfrom(list* &head, list* &tail, int* &guf, int* &nov)

{

FILE* BD;

list *kpp;

int u=0;

BD=fopen("E:\\kursrab\\std.txt", "a+");

while(999)

{

if(BD==NULL)

{

system("cls");

printf(" ______________________________________________________________________________\n");

printf("|                    Упс, Вы забыли сохранить что-либо в файл                  |\n");

printf("|         или не существует папки 'kursrab'(или самого файла) по адресу        |\n");

printf("|                              'E:\\kursrab\\std.txt'                          |\n");

printf("|                       Нажмите на любую клавишу для выхода.                   |\n");

printf("|______________________________________________________________________________|\n");

_getch();

system("cls");

break;

}

else

{

fclose(BD);

BD=fopen("E:\\kursrab\\std.txt", "r");

if(*guf==1)

{

fseek(BD, 0, SEEK_SET);

head=new list;

kpp=head;

tail=head;

while(!feof(BD))

{

fscanf(BD,"%d %s %s %s %lf",&kpp->numb, &kpp->fam, &kpp->date, &kpp->group, &kpp->tel);

if(kpp->fam[0]!=0)

{

kpp->next=NULL;

tail->next=kpp;

tail=kpp;

kpp=kpp->next;

kpp=new list;

kpp->fam[0]=0;

u++;

}

}

 

if(u==1)

{

head->next=NULL;

tail=head;

delete(kpp);

*nov=1;

}

else

{

delete(kpp);

*nov=1;

}   

fclose(BD);

*guf=0;

printf("         _____________________________________________________________\n");

printf("        |                  Извлечение прошло успешно!                 |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

     printf("        |_____________________________________________________________|\n");

_getch();

system("cls");

break;

}

else

{

printf("         _____________________________________________________________\n");

printf("        |            Пожалуйста, удалите текущую БД(цифра 6)!         |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

     printf("        |_____________________________________________________________|\n");

_getch();

system("cls");

break;

}

}

 

 

 

break;

}

}

 

 

A.6 – «Файл izmdeleteelem.cpp»

#include "standlib.h"

 

void izmdan(list* &head, int* &guf)//изменение данных в БД

{

list *T;

int n;

char k=0;

char c=0;

if(*guf!=1)

{  

while(666)

{

printf(" ______________________________________________________________________________\n");

printf("|    Введите порядковый номер элемента, в котором нужно сделать изменения      |\n");

printf("|______________________________________________________________________________|\n");

scanf("%d", &n);

system("cls");

T=head;

while(T!=NULL)

{

if(T->numb==n)

{

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

printf("             |          1)   Изменение порядкового номера        |\n");

printf("             |___________________________________________________|\n");

printf("             |          2)   Изменение фамилии                   |\n");

printf("             |___________________________________________________|\n");

printf("             |          3)   Изменение даты рождения             |\n");

printf("             |___________________________________________________|\n");

printf("             |          4)   Изменение номера группы             |\n");

printf("             |___________________________________________________|\n");

printf("             |          5)   Изменение номера телефона           |\n");

printf("             |___________________________________________________|\n\n\n");

printf("              ___________________________________________________\n");

printf("             |       Введите номер соответствующего пункта       |\n");

printf("             |___________________________________________________|\n\n");

 

c=getch();

system("cls");

switch(c)

{

case '1':

{

printf("         _____________________________________________________________\n");

printf("        |               Введите новый порядковый номер                |\n");

printf("        |_____________________________________________________________|\n");

scanf("%d", &T->numb);

system("cls");

break;

}

case '2':

{

printf("         _____________________________________________________________\n");

printf("        |                     Введите новую фамилию                   |\n");

printf("        |_____________________________________________________________|\n");

scanf("%s", &T->fam);

break;

}

case '3':

{

printf("         _____________________________________________________________\n");

printf("        |                 Введите новую дату рождения                 |\n");

printf("        |_____________________________________________________________|\n");

scanf("%s", &T->date);

break;

}

case '4':

{

printf("         _____________________________________________________________\n");

printf("        |                   Введите новый номер группы                |\n");

printf("        |_____________________________________________________________|\n");

scanf("%s", &T->group);

break;

}

case '5':

{

printf("         _____________________________________________________________\n");

printf("        |                 Введите новый номер телефона                |\n");

printf("        |_____________________________________________________________|\n");

scanf("%lf", &T->tel);

break;

}

}

break;

}

else

{

T=T->next;

}

}

if(T==NULL)

{

system("cls");

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

printf("        | Похоже Вы допустили ошибку при написании порядкового номера.|\n");

printf("        |  Введите '1' для новой попытки или другую цифру для выхода. |\n");

printf("        |_____________________________________________________________|\n");

k=getch();

system("cls");

if(k=='1')

{

continue;

}

else

{

break;

}

}

else

{

break;

}

}

}

else

{

printf("         _____________________________________________________________\n");

printf("        |                     База Данных пуста!                      |\n");

printf("        |              Нажмите на любую клавишу для выхода.           |\n");

printf("        |_____________________________________________________________|\n");

_getch();

}

}

 

void DeleteBD(list* &head, int* &guf)//полное удаление БД

{

list *N, *P;

 

if(*guf!=1)

{

N=head;

P=head->next;

 

while (P!=NULL)

{

delete(N);

N=P;

P=P->next;

}

delete(N);

printf("         _____________________________________________________________\n");

Информация о работе Разработка приложения KursRab.exe