Автор: Пользователь скрыл имя, 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
Информация о работе База данных, построенная на основе классов