База данных, построенная на основе классов

Автор: Пользователь скрыл имя, 10 Сентября 2011 в 19:46, курсовая работа

Краткое описание

Предполагается, что в идеальном случае разработка программы делится на три этапа: вначале необходимо добиться ясного понимания задачи, затем определить ключевые понятия, используемые для ее решения, и, наконец, полученное решение выразить в виде программы. Однако, детали решения и точные понятия, которые будут использоваться в нем, часто проясняются только после того, как их попытаются выразить в программе. Именно в этом случае большое значение приобретает выбор языка программирования.

Оглавление

Введение


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


2. Общее описание программы


3. Описание классов


4. Описание методов классов


5. Процедура main ()


6. Блок схема процедуры main


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

Файлы: 1 файл

Курсовая Ваулин.doc

— 242.50 Кб (Скачать)

j++;

}

j=0; 

fscanf(fn,"%u",&p->nom);

fgets(t1,i,fn); 

if (head==NULL)

{

head=p;

p->p1=NULL;

p->p2=NULL;

tp=p;

}

else

{

tp->p2=p;

p->p1=tp;

p->p2=NULL;

tp=p; 
 

}; 
 

};     // end while 

temp2=p->p1;

}     // if2 

else

{

clrscr();

printf("\n\nThe file of database is empty\n\n ");

printf("Please press Enter \n\n");

getch();

head=NULL;

} 

}      // if1

else

{

printf("\n\nFile of database is not created\n\n");

printf("\n\nPlease press Enter \n\n");

getch();

head=NULL;

}; 

tp=tp->p1;

tp->p2=NULL;

delete(p);

fclose(fn);

}; 

void sp::new_el()

{

temp1=new elem;

temp1->set_elem(); 

if (head==NULL)

{

head=temp1;

temp1->p1=NULL;

temp1->p2=NULL;

temp2=temp1;

}

else

{

temp2->p2=temp1;

temp1->p1=temp2;

temp1->p2=NULL;

temp2=temp1;

}

} ;

void sp::show_sp()

{

elem *p=NULL;

if (head!=NULL)

{

p=head ;

printf("\n");

printf("BASE: ");

printf("\n\n");

p->show_elem();

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

{

p=p->p2;

p->show_elem();

} ;

}

else printf ("The list does not exist\n\n"); 

}; 

void sp::poisk()

{

elem *p;

int t1,t2=0; 

if (head!=NULL)

{

p=head;

printf ("Conduct number\n");

scanf ("%u",&t1); 

while (p->p2!=NULL)

{

if (p->nom==t1)

{

p->show_elem();

t2++;

}

p=p->p2; 

};

if (p->nom==t1)  p->show_elem();     // end while 

if (t2==0) printf ("Such element is not present\n\n");

}

else printf("The list does not exist\n\n"); 

}; 

void sp::save()

{

int i;

char g[30];

elem *p;

FILE *list;

list=fopen("\\base.txt","wt"); 

if (list!=NULL)

{ 

if (head!=NULL)

{ 

p=head; 

while (p->p2!=NULL)

{

fprintf(list,"%s\n%s\n%s\n%u\n",p->fam,p->oth,p->name,p->nom);

p=p->p2;

}

fprintf(list,"%s\n%s\n%s\n%u\n",p->fam,p->oth,p->name,p->nom); 

} 

else printf("The list does not exist\n\n"); 

}

else printf ("File of database is not created"); 
 

fclose(list);

}; 

void sp::del_el()

{

elem *p,*tp1,*tp2;

int t1=1,t2=0; 

if (head!=NULL)

{

p=head;

while (p->p2!=NULL)

{

p=p->p2;

++t1;

}

printf("The base conteins %u",t1);

printf(" of elements.\n\n");

printf ("What element you want to remove ?\n\n");

scanf("%u",&t2);

if (t2<=t1)

{

p=head;

int i=1;

while (i!=t2)

{

p=p->p2;

i++;

}

if (p->p1!=NULL && p->p2!=NULL)

{

tp1=p->p1;

tp2=p->p2;

delete (p);

tp1->p2=tp2;

tp2->p1=tp1;

}

else if (p->p1==NULL)

{

tp1=p->p2;

delete (p);

head=tp1;

head->p1=NULL;

}

else if (p->p2==NULL)

{

tp1=p->p1;

delete(p);

tp1->p2=NULL;

temp2=tp1;

}

}

else printf ("Such element is not present\n\n");

}

else printf("The list does not exist\n\n"); 
 

};    //    end sp 
 
 
 
 
 
 
 

void main ()

{      // main

sp a;

char t[10]; 

a.init (); 
 

while (1)

{

clrscr(); 

printf("Press:\n\n 1- New element\n 2- Delete element\n 3- Surch element\n 4- Save list\n 5- Conslusion of the list\n 6- Exit\n\n");

scanf ("%s",&t[0]);

switch (t[0])

{

case '1' : a.new_el();break;

case '2' : a.del_el();break;

case '3' : a.poisk();break;

case '4' : a.save ();break;

case '5' : a.show_sp();break;

case '6' : ;break;

} 

if ((t[0]!='1')&&(t[0]!='2')&&(t[0]!='3')&&(t[0]!='4')&&(t[0]!='5')&&(t[0]!='6')) printf ("ERROR - Please press 1 or 2 or 3 or 4 or 5 or 6\n\n"); 

if (t[0]=='6')break;

printf("\n\n\n\n\n\n\n\nPlease press Enter \n\n");

getch();

}          // end while

printf("\n\nTo keep a database y/n\n\n");

scanf("%s",&t[0]);

switch(t[0])

{

case 'y': a.save();break;

case 'n': break;

}

clrscr();

a.free_m (); 

}        // end main

Информация о работе База данных, построенная на основе классов