Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовик9

.CPP
Скачиваний:
8
Добавлен:
01.05.2014
Размер:
13.47 Кб
Скачать

	  /* Љгаб®ў п а Ў®в .Џа®Ја ¬¬  ЇаҐ¤­ §­ зҐ­  ¤«п ᮧ¤ ­Ёп,
	    б®еа ­Ґ­Ёп Ё ®Ўа Ў®вЄЁ ЎЁЎ«Ё®вҐз­®© Ў §л ¤ ­­ле. */
#include <stdio.h>
#include <string.h>
#include <alloc.h> // „«п дг­ЄжЁ© ¤Ё­ ¬ЁзҐбЄ®© Ї ¬пвЁ
#include <conio.h> // „«п дг­ЄжЁЁ ®взЁбвЄЁ нЄа ­ 
/*ЋЇаҐ¤Ґ«Ґ­ЁҐ и Ў«®­  бвагЄвгал вЁЇ  BOOK */
typedef struct BOOK { char name [20];    //H §ў ­ЁҐ Є­ЁЈЁ
		       char avtor [20];   //Ђўв®а
		       int  year;         //ѓ®¤ Ё§¤ ­Ёп
		    };
/*ЋЇаҐ¤Ґ«Ґ­ЁҐ и Ў«®­  бвагЄвгал вЁЇ  BOOKS */
typedef struct BOOKS{
		       BOOK*bk;   //“Є-«м ­  бва.BOOK
		       BOOKS*next;//“Є-«м ­  c«Ґ¤гйго бва.BOOKS
		    };
BOOKS *first,*ptr,*prev;//“Є.­  ЇҐаўго,⥪гйго Ё ЇаҐ¤л¤гйго бва.BOOKS
#define size sizeof (BOOK)//„«Ё­­  бва.BOOK ў Ў ©в е
/* ЋЇаҐ¤Ґ«Ґ­ЁҐ Ј«®Ў «м­ле ЇҐаҐ¬Ґ­­ле */
int i,k;
FILE*fp;           // “Є § вҐ«м ­  Ї®в®Є
char fname [20];   // ‘Ё¬ў®«м­л© ¬ ббЁў ¤«п Ё¬Ґ­Ё д ©« 
/* Џа®в®вЁЇл дг­ЄжЁ© */
int file (void);      // ‡ ЇЁбм Ў §л ¤ ­­ле ў д ©«
int load (void);      // —⥭ЁҐ Ё ўлў®¤ ­  нЄа ­ Ў.¤.Ё§ д ©« 
void vvod (void);     // ‚ў®¤ Ў §л ¤ ­­ле
void print(void);   // ЏҐз вм ᮤҐа¦Ё¬®Ј® Ў.¤.
void point (void);  //Џ®ЁбЄ  ўбҐе Є­ЁЈ ®¤­®Ј®  ўв®а 
void stop (void);   //ЏаҐ®бв ­®ўЄЁ Їа®Ја ¬¬л
/* Ћб­®ў­ п дг­ЄжЁп(Їа®Ја ¬¬ )*/
void main (void)
{
  char numb[10];     // Њ ббЁў ¤«п ­®¬Ґа  Ё§ ¬Ґ­о
  while (1)
  {
    /* ‚лў®¤ ¬Ґ­о ­  нЄа ­ */
    clrscr();
    printf ("\n 1.€­ЁжЁ «Ё§ жЁп Ў §л ¤ ­­ле.");
    printf ("\n 2.‡ Јаг§Є  Ў §л ¤ ­­ле ў д ©«.");
    printf ("\n 3.‡ Јаг§Є  Ў §л ¤ ­­ле Ё§ д ©« .");
    printf ("\n 4.ЏҐз вм Ў §л ¤ ­­ле.");
    printf ("\n 5.Џ®ЁбЄ ўбҐе Є­ЁЈ ­г¦­®Ј®  ўв®а .");
    printf ("\n 6.ЋЄ®­з ­ЁҐ а Ў®вл.");
    printf ("\n\n ‚ўҐ¤ЁвҐ ­®¬Ґа Їг­Єв  ¬Ґ­о  ");
    scanf ("%s",&numb);
    /* ЋЇҐа в®а ЇҐаҐЄ«оз вҐ«м */
    switch(numb[0])
    {
      case '1':
      vvod();     // ‚맮ў дг­ЄжЁЁ ўў®¤ 
      break;
      case '2':
      file();     // ‚맮ў дг­ЄжЁЁ § ЇЁбЁ
      break;
      case '3':
      load();     // ‚맮ў дг­ЄжЁЁ ўлў®¤ 
      break;
      case '4':
      print();   //‚맮ў д-ЁЁ ўлў®¤  ­  нЄа ­ Ў.¤.
      break;
      case '5':
      point();         //‚맮ў д-ЁЁ Ї®ЁбЄ  Є­ЁЈ ­г¦­®Ј®  ўв®а .
      break;
      case '6':
      return;
      default:break;
    }
  }
}
/* ”г­ЄжЁп ўў®¤  Ў §л ¤ ­­ле */
void vvod (void)
{
  i=1; //‘зҐвзЁЄ зЁб«  н«-®ў бЇЁбЄ .
  clrscr();
  char buf[10];  //‘Ё¬ў®«м­л© ¬ ббЁў buf Ё ЇҐаҐ¬Ґ­­ п
  int end=1;     //end ¤«п ®аЈ ­Ё§ жЁЁ жЁЄ«  ўў®¤  ¤ ­­ле.
  fflush(stdin);
  /*‚ў®¤ ¤ ­­ле ЇҐаў®Ј® н«Ґ¬Ґ­в  бЇЁбЄ .*/
  first=new BOOKS;//‚л¤.Ї ¬пвЁ ¤«п ЇҐаў®© бва.BOOKS
  first->bk=new BOOK;//‚л¤.Ї ¬пвЁ ¤«п ЇҐаў®© бва.BOOK,гЄ § вҐ«м ­  Є®в.
		     //пў«.Ї®«Ґ¬ бвагЄвгал BOOKS
  ptr=first;         //H бва®©Є  гЄ § вҐ«Ґ©.
  puts (" ‚ўҐ¤ЁвҐ ­ §ў ­ЁҐ Є­ЁЈЁ(­Ґ Ў®«миҐ 19 бЁ¬ў®«®ў):");
  fflush(stdin);
  gets(ptr->bk->name);
  puts("\n ‚ўҐ¤ЁвҐ  ўв®а  Є­ЁЈЁ(­Ґ Ў®«миҐ 19 бЁ¬ў®«®ў):");
  gets(ptr->bk->avtor);
  puts("\n ‚ўҐ¤ЁвҐ Ј®¤ Ё§¤ ­Ёп Є­ЁЈЁ:");
  scanf ("%d",&ptr->bk->year);
  ptr->next=NULL;  //ЏаЁбў®Ґ­ЁҐ гЄ §.­  б«Ґ¤.н«-в бЇЁбЄ  §­ зҐ­Ёп NULL.
  prev=ptr;        //Џа-Ґ гЄ §.­  ЇаҐ¤.н«-в бЇЁбЄ  §­ з.⥪г饣®.
  /*–ЁЄ« ўў®¤  Ї®б«Ґ¤гойЁе н«-®ў бЇЁбЄ .*/
  while(end)
  {
    clrscr();
    ptr=new BOOKS;
    ptr->bk=new BOOK;
    puts ("‚ўҐ¤ЁвҐ ­ §ў ­ЁҐ Є­ЁЈЁ(­Ґ Ў®«миҐ 19 бЁ¬ў®«®ў):");
    fflush(stdin);
    gets(ptr->bk->name);
    puts ("\n ‚ўҐ¤ЁвҐ  ўв®а  Є­ЁЈЁ(­Ґ Ў®«миҐ 19 бЁ¬ў®«®ў):");
    gets(ptr->bk->avtor);
    puts ("\n ‚ўҐ¤ЁвҐ Ј®¤ Ё§¤ ­Ёп Є­ЁЈЁ:");
    scanf ("%d",&ptr->bk->year);
    ptr->next=NULL;
    prev->next=ptr;
    prev=ptr;
    i++;
    printf ("\n•®вЁвҐ Їа®¤®«¦Ёвм?…б«Ё ¤ ,­ ЎҐаЁвҐ '¤'");
    scanf ("%s",&buf);
    if(strcmp(buf,"¤")!=0)end=0;
  }
}
/* ”г­ЄжЁп § ЇЁбЁ Ў §л ¤ ­­ле ў д ©« */
int file (void)
{
  clrscr();
  char *c;                        // “Є § вҐ«м ­  бЁ¬ў®«
  puts ("\n ‚ўҐ¤ЁвҐ Ё¬п д ©« :"); //§ Їа®б Ё¬Ґ­Ё д ©« 
  fflush(stdin);
  gets (fname);
  /*®вЄалвЁҐ д ©«  ¤«п § ЇЁбЁ */
  if ((fp=fopen(fname,"w"))==NULL) // Џа®ўҐаЄ  ­  १г«мв в ®вЄалвЁп д ©« 
  {
    printf("\nHг¦­л© ў ¬ д ©« ®вЄалвм ­Ґ г¤ «®бм");
    stop();
    return -1;
  }
  else
  {
    // § ЇЁбЁ ᮤҐа¦Ё¬®Ј® Ў §л ¤ ­­ле ў д ©«.
    fflush(stdout);
    fprintf(fp,"%d",i); //‡ ЇЁбм зЁб«  н«-®ў бЇЁбЄ .
    ptr=first;          //H бва.гЄ-«п ­  ЇҐаўл© н«-в бЇЁбЄ .
    while(ptr!=NULL)
    {
	c=(char*)ptr->bk;
	for(k=0;k<size;k++)
	putc(*c++,fp);
	ptr=ptr->next;  //‘¤ўЁЈ ­  ®¤Ё­ н«-в.
    }
    printf("\nЃ §  ¤ ­­ле § Ја㦥­  ў д ©« %-20s",fname);
    fclose(fp);   //‡ ЄапвЁҐ д ©« .
    stop();
    return 0;
  }
}
/* ”г­ЄжЁп § Јаг§ЄЁ Ё ўлў®¤  ­  нЄа ­ Ў §л Ё§ д ©« . */
int load (void)
{
  int k,z,n;
  char *c;      // “Є-«м ­  бЁ¬ў®«.
  clrscr();     // ЋвзЁбвЄ  нЄа ­ .
  printf ("\n ‚ўҐ¤ЁвҐ Ё¬п д ©« :");    //‡ Їа®б Ё¬Ґ­Ё д ©« .
  fflush(stdin);
  gets (fname);
  if ((fp=fopen(fname,"r"))==NULL) //Џа®ўҐаЄ  ­  १. ®вЄалвЁп д ©« 
  {
    printf("\nHг¦­л© ў ¬ д ©« ®вЄалвм ­Ґ г¤ «®бм");
    stop();
    return -1;
  }
  else
  {
    fscanf(fp,"%d",&z);  //—⥭ЁҐ зЁб«  н«Ґ¬Ґ­в®ў бЇЁбЄ .
    i=z;
    first=new BOOKS;     //‚뤥«Ґ­ЁҐ Ї ¬пвЁ ¤«п ЇҐаў®© бва.BOOKS.
    first->bk=new BOOK;  //‚л¤.Ї ¬пвЁ ¤«п ЇҐаў®© бва.BOOK.
    ptr=first;           //H бва®©Є 
    c=(char*)ptr->bk;    //гЄ § вҐ«Ґ©.
    /*–ЁЄ« з⥭Ёп ЇҐаў®Ј® н«-в  бЇЁбЄ .*/
    for(k=0;k<size;k++)
      *c++=getc(fp);
    ptr->next=NULL;      //ЏаЁбў®Ґ­ЁҐ гЄ.­  б«Ґ¤.н«-в бЇЁбЄ  §­ з.NULL.
    prev=ptr;            //Џа.гЄ §.­  ЇаҐ¤.н«-в бЇЁбЄ  §­ з.⥪г饣®.
    /*–ЁЄ« ў®ббв ­®ў«Ґ­Ёп ўбҐе ®бв ўиЁебп н«-®ў бЇЁбЄ .*/
    for(n=1;n<z;n++)
    {
      ptr=new BOOKS;
      ptr->bk=new BOOK;
      c=(char*)ptr->bk;
      for(k=0;k<size;k++)
	*c++=getc(fp);
      ptr->next=NULL;
      prev->next=ptr;
      prev=ptr;
    }
  }
  printf("\nЃ §  ¤ ­­ле § Ја㦥­  Ё§ д ©«  %-20s",fname);
  stop();
  fclose(fp);           //‡ ЄалвЁҐ д ©« 
  return 0;
}
void print (void)
{
  clrscr();
  ptr=first;
  printf ("\n  H §ў ­ЁҐ Є­ЁЈЁ        Ђўв®а                 ѓ®¤ Ё§¤ ­Ёп \n");
  while(ptr!=NULL)
  {
    printf ("\n  %-20s  %-20s  %-15d",ptr->bk->name,ptr->bk->avtor,ptr->bk->year);
    ptr=ptr->next;
  }
  stop();
}
void stop (void)  //”-п ЇаҐ®бв ­®ўЄЁ Їа®Ја ¬¬л
{
  char buf[5];
  printf("\n\n „«п ўл§®ў  ¬Ґ­о ­ ¦¬ЁвҐ ENTER:");
  fflush(stdin);
  gets(buf);
}                      //Џа®в®вЁЇл д-Ё©
void sort (void);      //‘®ав-ЄЁ Є­ЁЈ ®¤­®Ј®  ўв®а  Ї® Ј®¤г Ё§¤ ­Ёп
void poisk (void);     //Џ®ЁбЄ  Є­ЁЈЁ Ї® ­ §ў ­Ёо
void delet (void);     //“¤ «Ґ­Ёп ўлЎа ­­®Ј® н-в 
void book (void);      //‚бв ўЄЁ ­®ў®Ј® н-в 
void korr (void);      //Љ®аа-ЄЁ ¤ ­­ле ўлЎа ­­®Ј® н-в 
int j,t;
BOOKS*bs[20],*b; //Њ ббЁў гЄ.­  бва.BOOKS ¤«п д-Ё© point Ё sort
void point (void) //”-п Ї®ЁбЄ  ўбҐе Є­ЁЈ ®¤­®Ј®  ўв®а 
{
  t=0;
  clrscr();
  ptr=first;
  char buf[20];
  printf("\n ‚ўҐ¤ЁвҐ д ¬Ё«Ёо ­г¦­®Ј®  ўв®а :");
  fflush(stdin);
  gets(buf);
  while(ptr!=NULL)
    {
      if(strcmp((ptr->bk->avtor),buf)==0)
      {
	bs[t]=ptr;
	t++;
      }
      ptr=ptr->next;
    }
  if(t)    //…б«Ё Ґбвм е®вм ®¤­  Є­ЁЈ  ­г¦­®Ј®  ўв®а 
  {
    printf ("\n H §ў ­ЁҐ Є­ЁЈЁ       Ђўв®а                ѓ®¤ Ё§¤ ­Ёп\n\n");
    for(j=0;j<t;j++)
      printf(" %-20s %-20s %-15d\n",bs[j]->bk->name,bs[j]->bk->avtor,bs[j]->bk->year);
  }
  else  //…б«Ё Є­ЁЈ ­г¦­®Ј®  ўв®а  ­Ґв
  {
    printf("\n Љ­ЁЈ ¤ ­­®Ј®  ўв®а  ў ЎЁЎ«Ё®вҐЄҐ ­Ґ ®Ў­ а㦥­®:");
    stop();
    return;
  }
  stop();
  char numb[10];
  while(1)                //ЊҐ­о
  {
    clrscr();
    printf("\n 1.‘®авЁа®ўЄ  Є­ЁЈ ¤ ­­®Ј®  ўв®а  Ї® Ј®¤г Ё§¤ ­Ёп.");
    printf("\n 2.Џ®ЁбЄ ­г¦­®© Є­ЁЈЁ Ё§ ўлЎа ­­ле.");
    printf("\n 3.ЋЄ®­з ­ЁҐ а Ў®вл.");
    printf("\n\n ‚ўҐ¤ЁвҐ ­®¬Ґа Їг­Єв  ¬Ґ­о.  ");
    scanf("%s",&numb);
    switch(numb[0])
    {
      case '1': sort(); //‚맮ў д-ЁЁ б®авЁа®ўЄЁ Є­ЁЈ ®¤­®Ј®  ўв®а 
      break;
      case '2': poisk();//‚맮ў д-ЁЁ Ї®ЁбЄ  Є­ЁЈЁ Ї® ­ §ў ­Ёо
      break;
      case '3':         //‚л室 Ё§ д-ЁЁ
      return;
      default:break;
    }
  }
}
void sort (void)   //”-п б®авЁа®ўЄЁ Є­ЁЈ ®¤­®Ј®  ўв®а  Ї® Ј®¤г Ё§¤ ­Ёп
{
 BOOKS*br;        //“-«м ¤«п б®авЁа®ўЄЁ(ЇҐаҐбв ­®ўЄЁ)¬ ббЁў  гЄ-Ґ©
 int i;
 for(j=0;j<t;j++)   //–ЁЄ« ба ў­Ґ­Ёп Ї®«Ґ© year ўлЎа ­­ле н-®ў
   for(i=j+1;i<t;i++)
     {
       if((bs[j]->bk->year)>(bs[i]->bk->year))
       {
	 br=bs[j];
	 bs[j]=bs[i];
	 bs[i]=br;
       }
     }
 for(j=0;j<t;j++)
   printf("\n %-20s %-20s %-15d",bs[j]->bk->name,bs[j]->bk->avtor,bs[j]->bk->year);
 stop();
}
void poisk (void) //”-п Ї®ЁбЄ  Є­ЁЈЁ Ї® ­ §ў ­Ёо
{
  int t=0; //ЏҐаҐ¬Ґ­­ п ¤«п Їа®ўҐаЄЁ १-в  Ї®ЁбЄ 
  char buf[20];
  printf("\n ‚ўҐ¤ЁвҐ ­ §ў ­ЁҐ ­г¦­®© Є­ЁЈЁ.  ");
  fflush(stdin);
  gets(buf);
  ptr=first;
  while(ptr!=NULL)
  {
    if(strcmp((ptr->bk->name),buf)==0)
    {
      b=ptr;
      t=1;
    }
    ptr=ptr->next;
  }
  if(t) //…б«Ё Є­ЁЈ  ­ ©¤Ґ­ 
    printf ("\n\n%-20s %-20s %-15d ",b->bk->name,b->bk->avtor,b->bk->year);
  else  //…б«Ё в Є®© Є­ЁЈЁ ­Ґв
  {
    printf ("\n Hг¦­®© ў ¬ Є­ЁЈЁ ў ЎЁЎ«Ё®вҐЄҐ ­Ґ Ё¬ҐҐвбп.");
    stop();
    return; //‚л室 Ё§ Їа®Ја ¬¬л
  }
  stop();
  char numb[10];
  while(1)
  {
    clrscr();
    printf("\n 1.“¤ «Ґ­ЁҐ ¤ ­­ле ® ўлЎа ­­®© Є­ЁЈҐ Ё§ ЎЁЎ«Ё®вҐЄЁ.");
    printf("\n 2.„®Ў ў«Ґ­ЁҐ ¤ ­­ле ® ­®ў®© Є­ЁЈҐ ў ЎЁЎ«Ё®вҐЄг.");
    printf("\n 3.Љ®а४вЁа®ўЄ  ¤ ­­ле ўлЎа ­­®© Є­ЁЈЁ.");
    printf("\n 4.ЋЄ®­з ­ЁҐ а Ў®вл.\n");
    printf("\n   ‚ўҐ¤ЁвҐ ­®¬Ґа Їг­Єв  ¬Ґ­о: ");
    scanf("%s",&numb);
    switch(numb[0])
    {
      case '1': delet(); //‚›§®ў д-Ё г¤ «Ґ­Ёп ўлЎа ­­®Ј® н-в 
      return;
      case '2': book();  //‚맮ў д-Ё ўбв ўЄЁ ­®ў®Ј® н-в 
      break;
      case '3':korr();   //‚맮ў д-Ё Є®аа.Ї®«Ґ© ўлЎа ­­®Ј® н-в 
      break;
      case '4':return;   //‚л室 Ё§ д-ЁЁ
      default:break;
    }
  }
}
void delet (void)  //”-п г¤ «Ґ­Ёп ўлЎа ­­®Ј® н-в  Ё§ бЇЁбЄ 
{
  int x=0; //ЏҐаҐ¬Ґ­­ п ¤«  ®ЇаҐ¤-п ¬Ґбв  ўлЎа-®Ј® н-в  ў бЇЁбЄҐ
  ptr=first;
  while(ptr!=b) //H бва®©Є  гЄ-Ґ© ­  ўлЎа ­­л© н-в
  {
    prev=ptr;
    ptr=ptr->next;
    x++;
  }
  if(x!=0)  //…б«Ё ­Ґ ЇҐаўл© н-в
  {
    if(x==i)  //…б«Ё Ї®б«Ґ¤­Ё© н-в
      prev->next=NULL;
    else      //…б«Ё ­Ґ Єа ©­Ё© н-в
      prev->next=ptr->next;
  }
  else   //…б«Ё ЇҐаўл© н-в
    first=first->next;
  printf("\n „ ­­лҐ ® ­Ґ­г¦­®© ў ¬ Є­ЁЈҐ г¤ «Ґ­л Ё§ ЎЁЎ«Ё®вҐЄЁ.");
  i--;  //“¬Ґ­м襭ЁҐ ®ЎйҐЈ® зЁб«  н-®ў ­  Ґ¤Ё­Ёжг
  stop();
}
void book (void) //”-п ўбв ўЄЁ ­®ў®Ј® н-в  ў бЇЁб®Є
{
  int x=0;   //„«п ®ЇаҐ¤Ґ«Ґ­Ёп ¬Ґбв  ўлЎ-®Ј® н-в  ў бЇЁбЄҐ
  char numb[10];
  BOOKS*nov;
  ptr=first;
  while(ptr!=b)  //H бва®©Є  гЄ § вҐ«Ґ© ­  ўлЎа. н-в
  {
    prev=ptr;
    ptr=ptr->next;
    x++;
  }
  nov=new BOOKS;      //‚뤥«Ґ­ЁҐ Ї ¬пвЁ ¤«п ­®ў®Ј® н-в 
  nov->bk=new BOOK;
  printf("\n„«п ­®ў®© Є­ЁЈЁ :");
  printf("\n ‚ўҐ¤ЁвҐ ­ §ў ­ЁҐ(­Ґ Ў®«миҐ 19 бЁ¬ў®«®ў).");
  fflush(stdin);
  gets(nov->bk->name);
  printf("\n ‚ўҐ¤ЁвҐ  ўв®а (­Ґ Ў®«миҐ 19 бЁ¬ў®«®ў).");
  gets(nov->bk->avtor);
  printf("\n ‚ўҐ¤¤ЁвҐ Ј®¤ Ё§¤ ­Ёп.");
  scanf("%d",&nov->bk->year);
  clrscr();
  while(1)
  {
    printf("\n 1.„ ­­лҐ ® ­®ў®© Є­ЁЈҐ ўбв ўЁвм ¤®  ўлЎа ­­®©.");
    printf("\n 2.„ ­­ҐҐ ® ­®ў®© Є­ЁЈҐ ўбв ўЁвм Ї®б«Ґ ўлЎа ­­®©.");
    printf("\n 3.ЋЄ®­з ­ЁҐ а Ў®вл(¤ ­­лҐ ® ­®ў®© Є­ЁЈҐ ўбв ў«Ґ­л ­Ґ Ўг¤гв).");
    printf("\n\n ‚ўҐ¤ЁвҐ ­®¬Ґа Їг­Єв  ¬Ґ­о  ");
    scanf("%s",&numb);
    switch(numb[0])
    {
      case'1':   //‚бв ўЄ  ­®ў®Ј® н-в  ЇҐаҐ¤ ўлЎа ­­л¬
      { if(x!=0) //…б«Ё ­Ґ ЇҐаўл© н-в
	{
	  nov->next=ptr;
	  prev->next=nov;
	}
	else    //…б«Ё ЇҐаўл© н-в
	{
	  nov->next=first;
	  first=nov;
	}
	i++;    //“ўҐ«ЁзҐ­ЁҐ ®ЎйҐЈ® зЁб«  н-®ў ­  Ґ¤Ё­Ёжг
	printf("\n„ ­­лҐ ® ­®ў®© Є­ЁЈҐ Ї®¬ҐйҐ­л ў ЎЁЎ«Ё®вҐЄг");
	stop();
      }return;
      case'2': //‚бв ўЄ  ­®ў®Ј® н-в  Ї®б«Ґ ўлЎа ­­®Ј®
      {
	if(x==i)  //…б«Ё Ї®б«Ґ¤­Ё© н-в
	{
	  nov->next=NULL;
	  ptr->next=nov;
	}
	else      //…б«Ё ­Ґ Ї®б«Ґ¤­Ё© н-в
	{
	  nov->next=ptr->next;
	  ptr->next=nov;
	}
	i++;  //“ўҐ«ЁзҐ­ЁҐ ®ЎйҐЈ® зЁб«  н-®ў ­  Ґ¤Ё­Ёжг
	printf("\n„ ­­лҐ ® ­®ў®© Є­ЁЈҐ Ї®¬ҐйҐ­л ў ЎЁЎ«Ё®вҐЄг");
	stop();
      }return;
      case '3':
      return;
      default: break;
    }
  }
}
void trr(void);    //Џа®в®вЁЇ д-ЁЁ ЇҐз вЁ Ё§¬Ґ­Ґ­­®Ј® н-в 
void korr (void)   //”-п Є®а४樨 Ї®«Ґ© ўлЎа ­­®Ј® н-в 
{
  char numb[10];
  while(1)
  {
    clrscr();
    printf("\n 1.Љ®а४вЁа®ўЄ  ­ §ў ­Ёп ўлЎа ­­®© Є­ЁЈЁ.");
    printf("\n 2.Љ®а४вЁа®ўЄ   ўв®а  ўлЎа ­­®© Є­ЁЈЁ.");
    printf("\n 3.Љ®а४вЁа®ўЄ  Ј®¤  Ё§¤ ­Ёп Є­ЁЈЁ.");
    printf("\n 4.ЋЄ®­з ­ЁҐ а Ў®вл.\n");
    printf("\n ‚ўҐ¤ЁвҐ ­®¬Ґа Їг­Єв  ¬Ґ­о.");
    scanf("%s",&numb);
    fflush(stdin);
    switch(numb[0])
    {
      case '1':
      {
	printf("\n ‚ўҐ¤ЁвҐ Ё§¬Ґ­Ґ­­®Ґ ­ §ў ­ЁҐ Є­ЁЈЁ.\n");
	gets(b->bk->name);
	trr();
      }break;
      case '2':
      {
	printf("\n ‚ўҐ¤ЁвҐ Ё§¬Ґ­Ґ­­®Ј®  ўв®а  Є­ЁЈЁ.\n");
	gets(b->bk->avtor);
	trr();
      }break;
      case '3':
      {
	printf("\n ‚ўҐ¤ЁвҐ Ё§¬Ґ­Ґ­­л© Ј®¤ Ё§¤ ­Ёп Є­ЁЈЁ.\n");
	scanf("%d",&b->bk->year);
	trr();
      }break;
      case '4': return; //‚л室 Ё§ д-ЁЁ
      default: break;
    }
  }
}
void trr (void)
{
  printf("\n €§¬Ґ­Ґ­­лҐ ¤ ­­лҐ ® ўлЎа ­­®© ў ¬Ё Є­ЁЈҐ: \n");
  printf("\n %-20s %-20s %-15d",b->bk->name,b->bk->avtor,b->bk->year);
  stop();
}