Автор: Пользователь скрыл имя, 10 Сентября 2011 в 19:46, курсовая работа
Предполагается, что в идеальном случае разработка программы делится на три этапа: вначале необходимо добиться ясного понимания задачи, затем определить ключевые понятия, используемые для ее решения, и, наконец, полученное решение выразить в виде программы. Однако, детали решения и точные понятия, которые будут использоваться в нем, часто проясняются только после того, как их попытаются выразить в программе. Именно в этом случае большое значение приобретает выбор языка программирования.
Введение 
1. Постановка  задачи 
2. Общее описание  программы 
3. Описание классов 
4. Описание методов классов 
5. Процедура main () 
6. Блок схема  процедуры main 
Список литературы
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\
p=p->p2;
}
fprintf(list,"%s\n%s\n%s\n%u\
} 
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[
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
Информация о работе База данных, построенная на основе классов